我有两个数据帧,比如
df1 <- data.frame(Company = c('A','B','C','D','E','F'),
`X1980` = c(21,NA,53,57,11,26),
`X1981` = c(35,33,45,NA,NA,12))
df2 <- data.frame (Company = c('A','B','C','D','E','F'),
`X1980` = c(78,2,NA,24,25,26),
`X1981` = c(435,33,45,5,10,12))
我想创建一个新的数据框架(df3(,使公司列保持原样。如果其中一个或两个值都为NA,则1980年和1981年的值应为0,如果两个值均为非NA,则应为1。导致以下数据帧:
result df3
Company 1980 1981
A 1 1
B 0 1
C 0 1
D 1 0
E 1 0
F 1 1
我是新来的,所以如果有什么方法可以改进我的问题,请告诉我:(谢谢你的帮助!
这里有一行代码。
cbind(df1[1], (!is.na(df1[-1]) & !is.na(df2[-1])) + 0L)
# Company X1980 X1981
#1 A 1 1
#2 B 0 1
#3 C 0 1
#4 D 1 0
#5 E 1 0
#6 F 1 1
数据,已更正
df1 <- data.frame(Company = c('A','B','C','D','E','F'),
`1980` = c(21,NA,53,57,11,26),
`1981` = c(35,33,45,NA,NA,12))
df2 <- data.frame (Company = c('A','B','C','D','E','F'),
`1980` = c(78,2,NA,24,25,26),
`1981` = c(435,33,45,5,10,12))