【发布时间】:2017-01-24 06:43:59
【问题描述】:
我已经浏览了 R 一个小时左右,试图找到我遇到的问题的答案,但我无法根据我目前看到的答案来解决这个问题。我需要将计算值列表添加到数据框中的新列中。我尝试使用 if 语句执行此操作,但没有成功,我一直在尝试使用 apply 函数和自定义函数来完成此练习。
理论上这是我的数据:
a <- 1:5
b <- 1:5
c <- 1:5
df <- data.frame(a,b,c)
a b c
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
这是我希望嵌入到 lapply 函数中的函数。
func <- function(x){
(((x/1000)*b)+c)
}
当我尝试运行它时:
lapply(df, function(x) {(((x/1000)*b)+c)})
我得到以下输出:
$a
[1] 1.001 2.004 3.009 4.016 5.025
$b
[1] 1.001 2.004 3.009 4.016 5.025
$c
[1] 1.001 2.004 3.009 4.016 5.025
我确定这是对的,但这不是我要查找的内容,我要生成的是 D 列,即 (((a/1000)*b)+c)。有人可以帮忙吗?
谢谢 牛肉
【问题讨论】: