Общие элементы из нескольких групп [дубликаты]

Если мы рассмотрим общие сценарии, в которых может быть выбрано это исключение, доступ к свойствам с объектом вверху.

Пример:

string postalcode=Customer.Address.PostalCode; 
//if customer or address is null , this will through exeption

здесь, если адрес имеет значение null, то вы получите NullReferenceException.

Итак, в качестве практики мы всегда должны использовать проверку нуля, прежде чем обращаться к свойствам в таких объектах (особенно в общих)

string postalcode=Customer?.Address?.PostalCode;
//if customer or address is null , this will return null, without through a exception
109
задан Marek 13 September 2010 в 08:59
поделиться

3 ответа

Возможно, будет более умный способ, но

intersect(intersect(a,b),c)

выполнит задание.

EDIT: более умно и удобнее, если у вас много аргументов:

Reduce(intersect, list(a,b,c))
236
ответ дан bnaul 25 August 2018 в 21:05
поделиться
intersect_all <- function(a,b,...){
  all_data <- c(a,b,...)
  require(plyr)
  count_data<- length(list(a,b,...))
  freq_dist <- count(all_data)
  intersect_data <- freq_dist[which(freq_dist$freq==count_data),"x"]
  intersect_data
}


intersect_all(a,b,c)

ИЗМЕНЕНИЕ ОБНОВЛЕНИЯ Простейший код

intersect_all <- function(a,b,...){
  Reduce(intersect, list(a,b,...))
}

intersect_all(a,b,c)
3
ответ дан Abhishek K Baikady 25 August 2018 в 21:05
поделиться

Хороший ответ уже, но есть несколько других способов сделать это:

unique(c[c%in%a[a%in%b]])

или,

tst <- c(unique(a),unique(b),unique(c))
tst <- tst[duplicated(tst)]
tst[duplicated(tst)]

Вы можете явно опустить unique если вы знаете, что в a, b или c нет повторяющихся значений.

14
ответ дан James 25 August 2018 в 21:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: