尽管选择了正确的列,但 R 函数 andrews() 会导致“未定义的列错误”?

时间:2021-03-31 12:50:57

标签: r package

可重现的例子:

install.packages("andrews")
library(andrews)

x = sample(1:200)
y = sample(1:200)
z = sample(1:200)
a = sample(1:200)

dat = data.frame(x = x, y=y, z=z, a=a)

dat$a[dat$a>100] = "old"
dat$a[as.numeric(dat$a)<=100] = "young"


andrews(dat[,1:3], clr = a)
andrews(dat[1:3,], clr = a)
andrews(dat, clr = a)
andrews(dat[,1:3], clr = "a")
andrews(dat[,1:3], clr = 4)

每个 andrews() 函数都会导致相同的错误:Error in [.data.frame\(df, , clr) : undefined columns selected。但如果我使用 head(dat[,1:3]) 将显示正确的列。

我没听懂-.-

1 个答案:

答案 0 :(得分:0)

install.packages("andrews")
library(andrews)

x = sample(1:200)
y = sample(1:200)
z = sample(1:200)
a = sample(1:200)

dat = data.frame(x = x, y=y, z=z, a=a)

dat$a[dat$a>100] = "old"
dat$a[as.numeric(dat$a)<=100] = "young"

dat$a = as.factor(dat$a)
andrews(dat, clr = 4)