Моя цель состоит в объединении двух наборов данных, но мне нужно отслеживать «NA», мне нужно «NA», когда я объединяю df1 и df2, а «NA» df1 присваивает что-то вроде 9999. Проблема заключается в том, что у моих данных есть так много переменных, она включает в себя день, числовой, символ ..., поэтому, когда я пытаюсь установить «NA» из df1 на df1[is.na(df1)] <- 9999
, он работает только с числами, есть способ, которым я могу приблизиться к моему решение иметь разные НС отдельно.Объединить и изменить NA отдельно в R
df1 <- data.frame(ID= c(1:10),
Value=c(3,NA,7,2:8),
Group = c("A",NA,"C","D",NA,"B",NA,"C","D",NA))
df2 <- data.frame(ID = c(5:14),Count =c(1:9,NA),
School = c("A",NA,"C","D",NA,"B","NA","C","D",NA))
df1[is.na(df1)] <- 9999
data <- merge(df1,df2,all = TRUE,by= "ID")
ID Value Group Count School
1 1 3 A NA <NA>
2 2 9999 <NA>* NA <NA>
3 3 7 C NA <NA>
4 4 2 D NA <NA>
5 5 3 <NA>* 1 A
6 6 4 B 2 <NA>
7 7 5 <NA>* 3 C
8 8 6 C 4 D
9 9 7 D 5 <NA>
10 10 8 <NA>* 6 B
11 11 NA <NA> 7 NA
12 12 NA <NA> 8 C
13 13 NA <NA> 9 D
14 14 NA <NA> NA <NA>
Те *
предположим, что 9999
Это помогает много и быстрее, когда я занимаюсь большими данными. – BIN
@BIN. Я рад это слышать. – jazzurro