![](/img/trans.png)
[英]Extract data from XML and pass to data.frame (use NA for missing)
[英]how to use IF count in a data.frame column the cells wiht missing value(NA)?
我有一個名為“ selPOGs2”的data.frame對象。 在此data.frame中,我將添加一列“ GeneID”。 將data.frame轉換為字符后,將數據添加到“ GeneID”列中。 這些數據從查詢返回到數據庫。 如果在數據庫中找不到答案,則在GeneID列的相應單元格中放置一個NA。 該列如下所示:
大段引用
GeneID
大段引用
我想計算在GeneID列中找到NA的次數。 我寫了以下代碼:
#convert selPOGs2 from factor to character (to make is is really character and not factor)
selPOGs2 <- data.frame(lapply(selPOGs2, as.character), stringsAsFactors=FALSE)
a=0; is.numeric(a)
for(c in selPOGs2[,1])
{b <- as.character(c)
if(b[1]== NA_character_)
{ a=a+1 }
else {a=a}
}
我收到以下錯誤:
Error in if (b[1] == NA_character_) { : missing value where TRUE/FALSE needed
無論我將b [1]與“ 14297062”還是與任何其他“ ...”進行比較,我都會遇到相同的錯誤。
如果我注釋與IF相關的代碼,則c或b [1]的值報告為“ 14297062”,例如
a=0; is.numeric(a)
for(c in selPOGs2[,1])
{b <- as.character(c)
#if(b[1]== NA_character_)
#{ a=a+1 }
#else {a=a}
}
但是,一旦取消注釋IF行,c或b [1]的值就會報告為NA_character_。
如果我用
a=0; is.numeric(a)
for(c in selPOGs2[,1])
{b <- as.character(c)
if(1==1)
}
再次將c或b [1]的值報告為“ 14297062”,例如
您可以使用
sum(is.na(selPOGs2$GeneID))
計算NA
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.