心理包中的 ICC:stack.data.frame(x) 中的错误:未选择矢量列

ICC in psych package: Error in stack.data.frame(x) : no vector columns were selected

我正在尝试使用 psych 包中的 ICC 来计算 ICC。我有 3 个评估者测量的扫描(下面的评估者 C、L、N)。我想我的矩阵格式不正确。

我的代码:

data=read.csv("SLICER_FAINT_ICC.csv")
label(data$Scan)="CT Scan"
label(data$Rater.C)="C"
label(data$Rater.L)="L"
label(data$Rater.N)="N"
x<-as.matrix(data)
ICC(x)`

错误: Error in stack.data.frame(x) : no vector columns were selected

我的矩阵如下所示:

    print(x)
       Scan      Rater.C    Rater.L    Rater.N   
  `[1,] "FA001FU" "1202.450" "1136.550" "1138.860"`
  `[2,] "FA001IN" "1152.660" "1119.520" "1094.260"` 
  `[3,] "FA002FU" "1209.220" "1102.660" "1149.670"`

我做错了什么?

ICC() 需要一个所有数字的矩阵,但是当您在矩阵中包含文本列 Scan 并且由于矩阵只能有一种变量类型时,它将所有值转换为字符串。

删除扫描列,然后它应该可以工作了。这是一个带有相关代码的示例:

#remove the Scan column
data$Scan<-NULL

#now this should work
x<-as.matrix(data)
ICC(x)