X[,colnames,drop=FALSE]中出错:下标超出范围 库(rms) x

X[,colnames,drop=FALSE]中出错:下标超出范围 库(rms) x,r,R,这个错误 X[,mmcolnames,drop=FALSE]中出现错误:下标超出范围 表示您正在选择超出范围的内容。此范围可以是行数、列数,也可以是行数和列数。不幸的是,如果没有正确命名行/列,也会出现此错误。例如,在R中,您应该不要在列名或行名中包含空格,就像变量名一样因为有些函数逐字解释它们。这正是你的情况。这条线 模型此错误 X[,mmcolnames,drop=FALSE]中出现错误:下标超出范围 表示您正在选择超出范围的内容。此范围可以是行数、列数,也可以是行数和列数。不幸的是,如

这个错误

X[,mmcolnames,drop=FALSE]中出现错误:下标超出范围 表示您正在选择超出范围的内容。此范围可以是行数、列数,也可以是行数和列数。不幸的是,如果没有正确命名行/列,也会出现此错误。例如,在
R
中,您应该不要在列名或行名中包含空格,就像变量名一样因为有些函数逐字解释它们。这正是你的情况。这条线

模型此错误

X[,mmcolnames,drop=FALSE]中出现错误:下标超出范围
表示您正在选择超出范围的内容。此范围可以是行数、列数,也可以是行数和列数。不幸的是,如果没有正确命名行/列,也会出现此错误。例如,在
R
中,您应该不要在列名或行名中包含空格,就像变量名一样因为有些函数逐字解释它们。这正是你的情况。这条线


model如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易为您提供帮助。列出您正在使用的任何非base R包。我猜这是因为列名中的空格通常是不受欢迎的。在安装模型时,它们是绝对必要的吗?事后清理可能更好。我不能用
library(rms)重现这一点;种子(101);dd我添加了一个最小的可复制示例。谢谢。如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易为您提供帮助。列出您正在使用的任何非base R包。我猜这是因为列名中的空格通常是不受欢迎的。在安装模型时,它们是绝对必要的吗?事后清理可能更好。我不能用
library(rms)重现这一点;种子(101);dd我添加了一个最小的可复制示例。谢谢。如果你有混乱的列名,你可能会发现这个软件包很有用。例如,
gatitor::clean_names(sign)
。如果您的列名凌乱,您可能会发现该软件包很有用。例如,
看门人::清洁姓名(标志)
library(rms)
x<-c("yes","no","yes","no","yes")
y<-c(-340,-310,-289,-189,-300)
z<-c(1,0,1,0,1)
data<-data.frame(x,y,z)
A.B<-data$x
C.D<-data$y
ef<-data$z
sign<-data.frame(A.B,C.D,ef)

names(sign)<-c("A B","C D","ef")
model<-lrm(ef~.,data=sign)

Error in X[, mmcolnames, drop = FALSE] : subscript out of bounds
> sign <- data.frame(A.B, C.D, ef)
> names(sign)
[1] "A.B" "C.D" "ef"