r - 相互减去多列
问题描述
我有一个大型数据集,我想根据它们的位置相互减去特定的列。我想从第 8 列中减去第 2 列,从第 9 列中减去第 3 列,从第 10 列中减去第 4 列。
非常感谢
马格努斯
structure(list(Stamp_summertime = structure(c(1546684744, 1546685858,
1546687004, 1547030061, 1547030835, 1547031816), tzone = "UTC", class = c("POSIXct",
"POSIXt")), X26.013 = c(0.138461, 0.138461, 0.138461, 0.144421,
0.144421, 0.144421), X27.024 = c(0.0752111, 0.0752111, 0.0752111,
0.0426819, 0.0426819, 0.0426819), X33.031 = c(3.75788, 3.75788,
3.75788, 3.12581, 3.12581, 3.12581), jar_camp = c("1_pf1.1",
"2_pf1.1", "3_pf1.1", "1_pf2.1", "2_pf2.1", "3_pf2.1"), jar = structure(c(1L,
12L, 23L, 1L, 12L, 23L), .Label = c("1", "10_blank", "11", "12",
"13", "14", "15", "16_blank", "17", "18", "19", "2", "20_blank",
"21", "22", "23", "24", "25", "26", "27", "28", "29", "3", "30_blank",
"31", "32", "33", "34", "35", "36", "37", "38_blank", "39", "4",
"40", "41", "42", "43", "44_blank", "45", "46", "47", "48", "49",
"5_blank", "blank_50", "51", "52", "53", "54", "55", "56", "57",
"6", "7", "8", "9", "X_blank"), class = "factor"), campaign = c("pf1.1",
"pf1.1", "pf1.1", "pf2.1", "pf2.1", "pf2.1"), i.X26.013 = c(0.144658,
0.21502, 0.458296, 0.191571, 0.0789067, 0.711814), i.X27.024 = c(0.0595547,
0.0651149, 0.146772, 0.0997815, 0.0539976, 0.185398), i.X33.031 = c(5.4066,
3.30406, 18.0479, 6.13854, 1.3028, 22.2226)), sorted = "Stamp_summertime", class = c("data.table",
"data.frame"), row.names = c(NA, -6L), .internal.selfref = <pointer: 0x00000237a3d91ef0>)
解决方案
我们可以创建 2 个位置向量并直接减去列。既然你有data.table
我们用来..column_number
按位置选择列。
library(data.table)
col1group <- 2:4
col2group <- 8:10
df[, ..col1group] - df[, ..col2group])
如果要将它们作为新列添加到原始数据中,可以重命名它们并cbind
cbind(df, setNames(df[, ..col1group] - df[, ..col2group],
paste0(names(df)[col1group], '_diff')))
推荐阅读
- autodesk-forge - 旋转原始锻造模型以与其他查看器同步
- redis - Redis 清理集群节点
- laravel - 如何在 Laravel 中为数据库更改生成 SQL 脚本
- python-3.x - 想在爬虫被scrapy关闭之前下载并获取位置
- java - Eclipse IDE jst.web 版
- swift - IBOutlet 和 IBAction 私有访问控制
- python - 有效地从python中的相对路径生成完整路径
- jboss - 西格特兰,SS7。TC-ABORT:没有 id:12012 的对话/事务
- typescript - 在 addEventListener 的回调中接收到的事件怎么可能为空?
- mysql - mysql查询中选择的优化