r - 通过对现有列的组合执行计算来创建多个数据框列
问题描述
我想创建许多数据框列,这些列对应于对单个现有列的不同组合执行的相同计算的结果。
例如,假设特定问题是跟踪线上点之间的距离。我的初始数据框看起来像这样,其中 x 是点的位置:
points <- data.frame(x = c(1, 2, 3, 4, 5))
对于每个点,我想计算彼此之间的距离并将它们存储为单独的列,例如d1
、d2
、d3
、d4
和d5
。
我可以使用以下方法手动添加一列:
points$d1 <- lapply(points$x, function(x) abs(x - points$x[1]))
我遇到过几次这样的问题,我的直觉告诉我有更好的方法来做到这一点。无论是否有像mutate
from这样的简洁解决方案,dplyr
或者我必须编写一个更大的函数,我都希望尽可能避免for
循环。
我也完全有可能在描述这个问题时使用了错误的术语。
解决方案
推荐阅读
- python - 在每个 date_range 中生成多个日期单元格
- sql - 计算每种类别类型的最佳方法
- c - POSIX 信号量 - 无法确定导致分段错误的原因
- php - 如何进行内联更新?
- python - CloudFormation !Ref 主题不提供 ARN
- plsql - 在触发器 PL/SQL 中调用存储过程
- r - 在线性模型结果中保留因子标签
- python-3.x - 在 django restframework 中上传文件和 json 数据
- angular - Angular 10 在另一个内部使用组件(错误:不是已知元素)
- javascript - 为什么我的 fetch 在我的服务器上失败,但在本地主机上却没有?并且 array.slice 也会中断 fetch