快速的問題。我將我的csv文件讀入變量data
。它有一個列標籤var
,它有數值。獲得「NA」當我運行一個標準偏差
當我運行命令
sd(data$var)
我得到
[1] NA
,而不是我的標準偏差。
能否請你幫我找出我做錯了嗎?
快速的問題。我將我的csv文件讀入變量data
。它有一個列標籤var
,它有數值。獲得「NA」當我運行一個標準偏差
當我運行命令
sd(data$var)
我得到
[1] NA
,而不是我的標準偏差。
能否請你幫我找出我做錯了嗎?
嘗試sd(data$var, na.rm=TRUE)
,然後在列VAR任何NAS會被忽略。還將支付檢查你的數據,以確保NA的應該是NA的,有沒有在錯誤被讀取,像head(data)
,tail(data)
命令和str(data)
應與幫助。
你可能有遺漏值在var
,或列不是數值,或有隻有一行。
嘗試刪除缺失值,這將有助於在第一種情況:
sd(dat$var, na.rm = TRUE)
如果不工作,檢查
class(dat$var)
是「數字」(第二種情況),以及
nrow(dat)
大於1(第三種情況)。
最後,data
被設定爲R所以最好的功能,使用不同的名字,這是我在這裏所做的。沒關係。
就是這樣。謝謝! – evt 2011-04-21 04:34:41
我添加了'str()'給你的答案,因爲我發現它對這些調試任務有幫助,但並不認爲這是它自己的答案。希望你不介意,隨時回滾。 – Chase 2011-04-21 04:34:49
'彙總(數據)'可能是查看數據中是否存在「NA」的最簡單方法。 – 2011-04-21 07:39:37