r - 如何将一列减去数据框中的其他列
问题描述
我有一个由 1000 行和 156 列组成的数据框。我试图将第一列减去接下来的 38 列,然后将第 39 列减去接下来的 38 列,依此类推,但我找不到办法。我只使用ncdf4,没有别的。像这样的东西
C1 C2 C3 C4 C5 C6 C7 C8
1 2 3 4 5 6 4 5
3 4 6 5 4 3 2 7
我希望它是
C1 C2 C3 C4 C5 C6 C7 C8
0 1 2 3 4 5 3 4
0 1 3 2 1 0 -1 4
逻辑将是前 38 列 - 第一列
专栏 39:77 - 专栏 39
等等。
解决方案
您还可以在没有任何循环的情况下执行以下操作:
# sample data frame
df <- data.frame(matrix(data = seq(1,316),ncol = 158))
# split the data frame into list of data frame having columns
# 1 to 38, 39 to 77 and so on
df <- split.default(df, gl(round(ncol(df)/38),k = 38))
# subtract the last column from each
df <- do.call(cbind, lapply(df, function(f) f - f[,ncol(f)]))
colnames(df) <- paste0('C', seq(1,158))
print(head(df))
C1 C2 C3 C4 C5
1 -74 -72 -70 -68 -66
2 -74 -72 -70 -68 -66
推荐阅读
- java - 如何从 WMQTextMessage.java 获取 ByteBuffer 正文而不是调用 getText()?
- installation - 布朗尼 - 安装问题
- excel - 对象“形状”的方法“复制”失败:运行时错误“-2147221040 (800401d0)”
- bash - 时间上传部分 bash 脚本并在 MM:SS 中输出
- c++ - 2个范围的所有组合的迭代器
- javascript - 找到特殊字符时如何从字符串中拆分一部分
- php - Woocommerce Display Termmeta
- python - 解析 HTML 并从标签的字符串中提取数据(JSON 格式)
- c# - 如何使用来自另一个项目的枚举将单选按钮组绑定到枚举属性?
- python-3.x - 时区感知字段之间的 Django 聚合