Var
是具有105行的数据框中的一个指标:(零NaN)所有唯一值。
我正在尝试通过以下功能运行sapply
来使用df$var
创建一个新变量:
df$newVar<- sapply(df$var.g, function(x) .01**(.95**(x/max(x)*100)))
生成 df$newVar
并将其添加到df
中,但不是在每行中显示不同的数字(df$var
的每个值都是唯一的),而是在每行中返回相同的数字
我要去哪里错了?
答案 0 :(得分:1)
您是否尝试过直接申请该载体? R是矢量化的,因此可以很好地工作
custom_func <- function(x) {
0.01^(0.95^(x/max(x)*100))
}
var <- 1:10
custom_func(var)
#> [1] 0.06346381 0.19187931 0.37215381 0.55331913 0.70163307 0.80883587
#> [7] 0.88070937 0.92676420 0.95548367 0.97310329
直接尝试df$var.g
df$newVar <- 0.01^(0.95^(df$var.g/max(df$var.g)*100))
或使用自定义功能
custom_func <- function(x) {
0.01^(0.95^(x/max(x)*100))
}
df$newVar <- custom_func(df$var.g)