我有一个数据框,其中包含 [0,1] ( df$Estimate
) 上的一列值和中断值的四列 ( df$V1-4
);每行的形式为c(0, [somevalue], 0.8, 1)
. 对于 中的每个值df$Estimate
,我想将其行的值传递df$V1-4
给 cut 函数。
使用 for 循环版本的解决方案复制示例的代码:
nrow <- 10
set.seed(1)
df <- data.frame(Estimate = runif(nrow), V1 = 0,
V2 = runif(nrow, 0.1, 0.75),
V3 = 0.8, V4 = 1)
bins <- vector(length = nrow(df))
for (i in 1:nrow(df)) {
bins[i] <- cut(df$Estimate[i], df[i, grep("V[0-9]", colnames(df))])
}
所以我有一个笨拙的解决方案,但正确的方法是什么?