Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用函数时使用列名(cutpointr)_R - Fatal编程技术网

调用函数时使用列名(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])`会导致相同的错误
错误:很遗憾,无法将调用转换为字符串。
。非常好,感谢您提供了解决方案并提供了进一步的资源来通读!