我正在进行免疫学研究,并想确定满足某些要求的基因名称。
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
factor(0)
表示factor
长度为0的类型的向量。之所以会这样,是因为您的子集未返回任何值。您可以使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句