-3
目前,我正在使用从SPSS文件导入的r数据集转换为csv。数据包括多种因素,如性别,种族和测试组,以及我想总结的一组权重。我想根据多个条件(即女性+白色+组1)对这些权重进行求和,因此我尝试对数据进行子集化。在R中设置数据将返回0列,619行
small.set<-subset(df, df[,"gender"]==1 & df[,"ethnicity"] ==1 &
df[,"group"==1])
不过,我得到以下错误:
Error in matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr,
: 'data' must be of a vector type, was 'NULL'
我发现,试图在任何情况下,选择组1时,R返回奇怪的结果:
df["group"==1]
> data frame with 0 columns and 619 rows
的结构“组”如下:
str(df["group")
>Factor w/ 3 levels "1", "2", "3": 1 3 1 1 2...
有谁知道是什么导致了这种情况发生?
它更容易帮助你,如果你提供一个[重复的例子] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。你确定你的data.frame的列名是正确的吗(R区分大小写)? – MrFlick
'“group”== 1'总是'FALSE'。也许你想'small.set [“group”] == 1'。 –
在你的第一条指令中,你使用了两个带有'subset'的df。不要这样做。一次做一个。另外,对于'subset'你不需要重复df的名字,'gender == 1&group == 1'就可以。 –