我正在进行免疫学研究,并希望确定满足某些要求的基因名称。
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"])]
我希望输出基因名称(位于“ Gene”列中),而我的输出如下:
factor(0)
49041 Levels: 0610005C13Rik 0610006L08Rik 0610009B22Rik 0610009E02Rik 0610009L18Rik ... Zzz3
答案 0 :(得分:5)
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'
是FALSE
,因此没有返回任何值。 table
函数很好地计算了向量中的每个值,我们可以使用它来查看iris$Species == 'cat'
给我们150个FALSE
值和0 TRUE
:
table(iris$Species == 'cat')
FALSE
150