2016-12-14 78 views
-1

我遇到子集問題。當我將數據集分組時,結果子集中的幾列填充0,這些列的變量類已更改爲未知。這與某些子集一致。受影響的列變化受影響的子集列值在子集化時被損壞

之間 我不明白爲什麼會這樣。我所做的只是一個簡單的子集命令。爲什麼R會丟失4個整列的數字數據並用廢話代替它。

有問題的塊的代碼是這樣簡單的命令這裏:

table.al = subset(bamboo_compounds,bamboo_compounds$CClass=="aldehyde") 

的原始數據集看起來像這樣:

Screenshot

所得子集是這樣的:

Screenshot

這四列應填寫數值數據。

我從字面上做什麼比其他負載在.csv文件,然後使該數據的一個子集。請,有人可以給我一些想法,可能會導致這種情況,我怎麼能避免它?

+0

調用'sapply(table.a1,mode)'。它在我看來是數字。 –

+0

請求幫助時,請提供[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。數據圖片沒有幫助。另外,不需要在子集中使用'$'子集(bamboo_compounds,CClass ==「aldehyde」)' – MrFlick

回答

1

你確定你的數據實際上已經被破壞?我們可以(在整個數據集)的頂視圖查看通過包含在子集中唯一的線是15行:讀取

unknown aldehyde,aldehyde,yes,NA,0.00000,0.00000,0.00000,... 

什麼出現在下面的觀點是

unknown aldehyde,aldehyde,yes,NA,0.00000,0.00000,0,0,... 

那是時,的事情,我可以看到所更改是最後兩列的格式(這可能是因爲所有的子集,這些列中的值是完全爲零,所以沒有必要打印所有小數)。

至於「未知列類型」的東西,我覺得這只是RStudio的怪胎。當我進入這個數據由專人

d <- read.csv(text= 
'"unknown aldehyde","aldehyde","yes",NA,0.0000,0.0000,0,0', 
header=FALSE) 

設置和查看它RStudio我看到的最後四列的「未知」的標籤。但是,當我問R這些列有什麼類時,它們是數字(或整數)。

sapply(d,class) 
     V1  V2  V3  V4  V5  V6  V7 
"factor" "factor" "factor" "logical" "numeric" "numeric" "integer" 
     V8 
"integer" 

我一直沒能找到這事,「x列:未知」在RStudio瀏覽器標籤(這是無可否認的混淆);可能值得在RStudio論壇上詢問這個問題?