小编Ste*_*der的帖子

R:避免使用 for 循环顺序选择一列中的值并使用另一列中的值向量应用函数

问题

我正在尝试修改当前采用嵌套 for 循环形式的代码,以便它在不依赖循环的情况下实现相同的结果,如果可能的话,以提高可读性并促进故障排除。我将介绍我实际尝试做的事情的真正简化版本。任何有助于避免循环的建议将不胜感激。

我有一个带有 2 个变量(x,y)的数据框(df)。对于 x1 的值,我想减去 y 的每个值。然后我想对 x2 到 xi 重复这个。

这是帮助说明的图像:

在此处输入图片说明

我试过的

一个简单的可重现示例:

数据:

x <- c(221.7, 285.9, 22.3, 67.2, 133.2)
y <- c(121.5, 193.8, 226.2, 313.6, 17.9)
df <- as.data.frame(cbind(x,y))
Run Code Online (Sandbox Code Playgroud)

循环:

outcome <- c()
for (i in seq(1,length(df$x),1)){
  eachX <- df[i,1]
  outcome[[i]] <- df$y-eachX
}
 outcome
Run Code Online (Sandbox Code Playgroud)

我需要帮助的地方

这种方法依赖于 for 循环,我的印象是通常可以避免 for 循环。

提前致谢!

for-loop r dplyr

4
推荐指数
1
解决办法
173
查看次数

标签 统计

dplyr ×1

for-loop ×1

r ×1