r - 将具有匹配和不匹配数字的行与附加列关联相结合
问题描述
X1 Y2 X3 Y4
2 50 2 60
2 43 3 55
4 80 5 34
5 30 5 59
6 69 5 87
6 56 6 85
8 22
9 25
我有 4 列 x 作为质量值(十进制)和 y 作为强度(十进制)作为不相等的列对,我想将相似的质量值 (x) 与最高强度 (y) 和不匹配的质量 (x) 组合为零。
X1 Y2 X3 Y4
2 50 2 60
3 00 3 55
4 80 4 00
5 30 5 87
6 69 6 85
8 00 8 22
9 00 9 25
我该如何做手术?任何帮助将不胜感激。
解决方案
这有点混乱,但完成了预期的工作。
library(dplyr)
a <- na.omit(table[,1:2]) %>% group_by(X1) %>% summarize(Y2=max(Y2))
b <- na.omit(table[,3:4]) %>% group_by(X3) %>% summarize(Y4=max(Y4))
out <- merge(a,b,by.x="X1",by.y="X3",all=T)
out[is.na(out)] <- 0
out
给,
X1 Y2 Y4
1 2 50 60
2 3 0 55
3 4 80 0
4 5 30 87
5 6 69 85
6 8 0 22
7 9 0 25
数据:
table <-structure(list(X1 = c(2L, 2L, 4L, 5L, 6L, 6L, NA, NA), Y2 = c(50L,
43L, 80L, 30L, 69L, 56L, NA, NA), X3 = c(2L, 3L, 5L, 5L, 5L,
6L, 8L, 9L), Y4 = c(60L, 55L, 34L, 59L, 87L, 85L, 22L, 25L)), class = "data.frame", row.names = c(NA,
-8L))
推荐阅读
- amazon-web-services - terraform 中的 aws_config_remediation_configuration 资源中缺少参数
- javascript - 时间错了
- https - 如何解释 Cloudflare 的 SVCB/HTTPS DNS 记录类型?
- swift - SwiftUI iOS14 Widget - 使用相同的 WidgetFamily 创建多布局
- derby - 我的删除按钮按钮不起作用无效光标状态 - 没有当前行
- javascript - TypeError: undefined is not an object (evaluate '_useContext.dispatch') when using context in react native
- spring - Spring Security:从数据库表中获取当前用户的字段
- fonts - 新博客界面中的字体问题
- javascript - 如何检查 JavaScript/Flask 中是否存在多个元素
- javascript - 如何根据提示输入数据制作数组?