Sapply为每行中的新Var返回相同的值

Sapply为每行中的新Var返回相同的值,r,R,Var是数据帧中的一个度量,包含105行:(零个N)所有唯一值 我试图使用sapply通过以下函数运行df$var来创建一个新变量: df$newVar<- sapply(df$var.g, function(x) .01**(.95**(x/max(x)*100))) df$newVar您是否尝试过直接应用于向量? R是矢量化的,这种方式非常有效 custom_func[7]0.88070937 0.92676420 0.95548367 0.97310329 直接试穿df$var

Var
是数据帧中的一个度量,包含105行:(零个N)所有唯一值

我试图使用
sapply
通过以下函数运行
df$var
来创建一个新变量:

df$newVar<- sapply(df$var.g, function(x) .01**(.95**(x/max(x)*100)))

df$newVar您是否尝试过直接应用于向量?
R是矢量化的,这种方式非常有效

custom_func[7]0.88070937 0.92676420 0.95548367 0.97310329
直接试穿
df$var.g


df$newVar自定义函数工作正常,谢谢!!!!如果你不介意的话,你能提供一些关于Sappy为什么不在这里工作的细节吗?使用Sappy,你可以一个接一个地迭代向量中的值。因此
max(x)=x
因为
x
的长度为1。因此
x/max(x)=1
,您可以得到
custom_func(1)
(0.97)的结果,R可以很好地矢量化,并且大多数函数可以应用于向量。甚至还有一个
Vectorise
函数来帮助矢量化一个非矢量化函数。谢谢,非常有用/有教育意义!