我有一个R数据帧温度,包含以下内容:
Serial N year current Average
B 10 14 15
C 12 13 12
D 40 20 20
. . . .
我想根据Average列的每一行添加一个新列。我尝试使用tapply如下:
temp$new_set=tapply(temp$Average, function(x) { 2 * pnorm(x * sqrt(2)) - 1} )
但我得到以下错误:
r error in unique.default(x) unique() applies only to vectors
如何将该函数应用于temp$Average的每个元素??
看起来您想要为Average
的每个值计算函数。如果是这样的话,我认为你根本不需要使用tapply
。沿着这些路线的东西会起作用:
temp$new_set <- (2 * pnorm(temp$Average * sqrt(2))) - 1
也就是说,您可以直接传递列temp$Average
作为函数的参数,并获得可以用作新列的结果向量。