Я думаю, это должно быть относительно просто. Я использую последнюю версию R. В кадре данных у меня есть столбец с идентификационными номерами с именем PairID и столбец с видами с 15 различными видами. Я хочу знать, какие номера PairID имеют все 15 видов.
Фрейм данных выглядит примерно так:
head(analysis.df)
species PairID
DIKDIK 1
GAZELLE 2
GIRAFFE 1
ELAND 5
GIRAFFE 3
DIKDIK 2
Моя идея состояла в том, чтобы запустить это:
for(i in 1:nrow(analysis.df)) {
if (analysis.df$species[i]=="GRANTS GAZELLE") {analysis.df$GRANTS GAZELLE[i] <- 1}
else if (analysis.df$species[i]=="DIKDIK") {analysis.df$DIKDIK[i] <- 1
else if (analysis.df$species[i]=="IMPALA") {analysis.df$IMPALA[i] <- 1}
else if (analysis.df$species[i]=="BUFFALO") {analysis.df$BUFFALO[i] <- 1}
else if (analysis.df$species[i]=="BUSHBUCK") {analysis.df$BUSHBUCK[i] <- 1}
else if (analysis.df$species[i]=="GIRAFFE") {analysis.df$GIRAFFE[i] <- 1}
else if (analysis.df$species[i]=="ELAND") {analysis.df$ELAND[i] <- 1}
else if (analysis.df$species[i]=="GERENUK") {analysis.df$GERENUK[i] <- 1}
else if (analysis.df$species[i]=="LESSER KUDU") {analysis.df$LESSER KUDU[i] <- 1}
else if (analysis.df$species[i]=="HARTEBEEST") {analysis.df$HARTEBEEST[i] <- 1}
else if (analysis.df$species[i]=="STEENBOK") {analysis.df$STEENBOK[i] <- 1}
else if (analysis.df$species[i]=="ORYX") {analysis.df$ORYX[i] <- 1}
else if (analysis.df$species[i]=="REEDBUCK") {analysis.df$REEDBUCK[i] <- 1}
else if (analysis.df$species[i]=="THOMSONS GAZELLE") {analysis.df$THOMSONS GAZELLE[i] <- 1}
else if (analysis.df$species[i]=="WATERBUCK") {analysis.df$WATERBUCK[i] <- 1}
}
Тогда я мог бы попробовать summary
для всех строк с 1 во всех этих вновь созданных столбцах.
Но этот код выдает ошибку:
> Error: unexpected symbol in:
"for(i in 1:nrow(analysis.df)){
if (analysis.df$species[i]=="GRANTS GAZELLE") {analysis.df$GRANTS GAZELLE"
Я посмотрел здесь и здесь плюс несколько виньеток в R и поисках Google, но пока не смог взломать его. Я даже не уверен, что этот метод даст мне то, что я хочу, и с удовольствием рассмотрю любые предложения по достижению цели, первоначально заявленной в начале этого поста.