r - R - 创建检查多个数据帧中的 NA 的数据帧
问题描述
我有两个数据框,例如
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))
推荐阅读
- c# - 如何使用基于 TabControl 中选定选项卡的特定类?
- c# - 如何制作枚举值和整数的二维数组
- python - 将一个列表中的每个项目拆分为具有键值对的二维列表
- mysql - MySQL 使用引用连接表
- app-store - App Review 连接到托管应用服务
- javascript - 有没有办法将 CSV 列转换为层次关系?
- java - Java中套接字的OutputStreamWriter和InputStreamReader,我做错了什么?
- javascript - 在多个 JS 文件中使用 Jasmine,避免 db 竞争条件
- python - 如何使用 python 的 pandas 处理 excel 中的组合列?
- css - 将 h1 元素的宽度限制为其父元素