R psych :: statsBy错误:“'x'必须为数字”

问题描述

我正在尝试使用“心理”软件包进行多级因素分析。建议第一步,使用statsBy()函数获得相关数据:

statsBy(study2,组=“ ID”)

但是,它给出了这个“ FUN中的错误(数据[x,,drop = FALSE],...):'x'必须是数字”。

对于数据集,我仅包括一个分组变量“ ID”和其他两个数字变量。我运行了以下代码行以检查变量值是否为数字。

sapply(study2,是数字)

 ID     v1      V2 

假是是

这里是错误跟踪中的代码。但是我不知道这里的“ x”是什么,我注意到在第8和9行中,X在首字母处是小写,在第10行中是小写。 >

* 10。 FUN(data [x,,drop = FALSE],...)

9。 FUN(X [[i]],...)

8。 lapply(X = ans [index],FUN = FUN,...)

7。 tapply(seq_len(728L),列表(Z = C( “5edfa35e60122c277654d35b”, “5ed69fbc0a53140e516ad4ed”, “5d52e8160ebbe900196e252e”, “5efa3da57a38f213146c7352”, “5ef98f3df4d541726b1bcc48”, “5debb7511e806c2a59cad664”, “5c28a4530091e40001ca4d00”, “5872a0d958ca4c00018ce4fe”, “5c87868eddda2d00012add18”,“ 5e80b7427567f07891655e7e“,...

6。 eval(替代(tapply(seq_len(nd),IND,FUNx,简化=简化)),数据)

5。 eval(替代(tapply(seq_len(nd),IND,FUNx,简化=简化)),数据)

4。 结构(eval(替代(tapply(seq_len(nd),IND,FUNx,简化=简化)),数据),调用= match.call(),类=“ by”)

3。 by.data.frame(data,z,colMeans,na.rm = na.rm)

2。 by(data,z,colMeans,na.rm = na.rm)

1。 statsBy(study2,group =“ ID”)*

数据集有728行,而像“ 5edfa35e60122c277654d35b”这样的行则是ID。谁能帮助解释可能出了什么问题?

解决方法

我有同样的错误,唯一的方法是将组变量转换为数字类。

尝试:

study2$ID<-as.numeric(study2$ID)
statsBy(study2,group = "ID")

如果dat$ID是类字符:

study2$ID<-as.numeric(as.factor(study2$ID))
statsBy(study2,group = "ID")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...