调用函数时使用列名(cutpointr)
我正在尝试使用调用函数时使用列名(cutpointr),r,R,我正在尝试使用cutpointr包()对多对变量/类执行最佳切入点的评估。文档说明该命令的语法为cutpointr(data,x,class),前两个是变量名 我的数据框架如下所示,每个ID都有几个变量A、B、,。。。和每个变量对应的二进制类 ID A B A_Class B_Class 1 7 5 1 0 2 3 2 0 0 3 6 3 0 1 现在,我想为这些对中的每一对执行cu
cutpointr
包()对多对变量/类执行最佳切入点的评估。文档说明该命令的语法为cutpointr(data,x,class)
,前两个是变量名
我的数据框架如下所示,每个ID都有几个变量A、B、,。。。和每个变量对应的二进制类
ID A B A_Class B_Class
1 7 5 1 0
2 3 2 0 0
3 6 3 0 1
现在,我想为这些对中的每一对执行cutpointr
操作。我尝试为-循环实现一个
for (col in 2:3) {
cutpoint <- cutpointr(df, colnames(df[col]), colnames(df[col+2]))
summary(cutpoint)
}
for(列在2:3中){
切点使用循环标识函数时,需要转义R提供的引号。cutpointr
看起来像是使用了rlang
中的整洁求值。在列名前面添加!!
将删除引号
library(cutpointr)
## create your example data
df = as.data.frame(cbind(ID = c(1, 2, 3),
A = c(7,3, 6),
B = c(5, 2, 3),
A_Class = c(1, 0, 0),
B_class = c(0,0,1)
)
)
for (col in 2:3) {
cutpoint <- cutpointr(df,
!!colnames(df[col]),
!!colnames(df[col+2])
)
summary(cutpoint)
}
库(切入点)
##创建示例数据
df=as.data.frame(cbind(ID=c(1,2,3)),
A=c(7,3,6),
B=c(5,2,3),
A_类=c(1,0,0),
B_类=c(0,0,1)
)
)
(列在2:3中){
切点尝试使用get()
。因此在您的第二行中,`cutpointr(df,get(colnames(df[col])),get(colnames(df[col+2])`会导致相同的错误错误:很遗憾,无法将调用转换为字符串。
。非常好,感谢您提供了解决方案并提供了进一步的资源来通读!