В этом сценарии у меня несколько фреймов данных (~ 100, числа могут отличаться), но все они имеют одинаковый размер.Они в основном индикаторы, и мне нужно пересечь их все.См. Следующий код:
df1 <- data.frame(col1=c("a","b","c","d"),col2=c(NA,NA,NA,NA),col3=c(NA,"X",NA,"X"),col4=c("X",NA,NA,"X"))
df2 <- data.frame(col1=c("a","b","c","d"),col2=c("X","X",NA,NA),col3=c(NA,NA,NA,"X"),col4=c(NA,NA,NA,NA))
df3 <- data.frame(col1=c("a","b","c","d"),col2=c(NA,NA,"X",NA),col3=c(NA,NA,NA,NA),col4=c(NA,"X",NA,NA))
Мне нужно создать кадр выходных данных, который будет содержать X, если хотя бы один кадр данных содержал X в этой ячейке:
output <- data.frame(col1=c("a","b","c","d"),col2=c("X","X","X",NA),col3=c(NA,"X",NA,"X"),col4=c("X","X",NA,"X"))
Iможно сделать это с помощью вложенных циклов, но для достижения этого результата должен быть какой-нибудь умный быстрый способ.