首页 > 解决方案 > 因子(0)是什么意思?

问题描述

我正在做免疫学研究,想确定符合某些要求的基因名称。

ifng5p <- df$Gene[which(as.numeric(df$Prop1) <= df[df$Genes == "Ifng", "Prop1.5p"] 
& as.numeric(df$Prop1) >= df[df$Genes== "Ifng", "Prop1.5m"] & as.numeric(df$Prop1) <= df[df$Genes == "Ifng", "Prop1.5p"] 
& as.numeric(df$Prop1) >= df[df$Genes=="Ifng", "Prop1.5m"])]

我期望输出基因的名称(在“基因”列中),而不是我的输出如下:

factor(0)
49041 Levels:  0610005C13Rik 0610006L08Rik 0610009B22Rik 0610009E02Rik 0610009L18Rik ... Zzz3

标签: r

解决方案


factor(0)表示长度为 0 的类型向量。factor你得到它是因为你的子集没有返回任何值。您可以使用数据集查看此示例iris

# There are no cats in `iris` so it returns a vector of length 0
iris$Species[iris$Species ==  'cat']

factor(0)
Levels: setosa versicolor virginica

这是因为iris$Species == 'cat'isFALSE针对所有值,因此不返回任何值。该table函数很好地计算了向量中的每个值,我们可以使用它来查看它iris$Species == 'cat'为我们提供了 150个FALSE值和 0 TRUE

table(iris$Species == 'cat')

FALSE 
  150 

推荐阅读