x<- c(62, 60, 63, 59, 63, 67)
grp1<-factor(rep(1:2))
grp2<-rep(1:3)
dat <-data.frame(x,grp1,grp2)
length(levels(dat$grp1))
是对的,但length(levels(dat$grp2))
是错误的。
为什么?
答案 0 :(得分:1)
您似乎是R的新手。 请阅读 An introduction to R
它将为您提供良好的语言开始。
x<- c(62, 60, 63, 59, 63, 67)
好的,你有一个数字向量
grp1<-factor(rep(1:2))
rep
重复了它的论点,但由于你没有给出第二个论点来说明重复它的次数rep(1:2) = 1:2 = c(1, 2)
,所以你的rep
没有做任何事情。所以现在grp1
是级别为1和2的因子,值为1和2。
grp2<-rep(1:3)
您已将数字向量c(1, 2, 3)
放在grp2
中(此处也不需要代表)。
dat <-data.frame(x,grp1,grp2)
将它们绑定到数据帧中。
levels(dat$grp1)
[1] "1" "2"
右。
levels(dat$grp2)
NULL
这不是一个因素,所以它没有水平。如果您想计算唯一值,可以使用length(unique(dat$grp2)
。