簡體   English   中英

如何更改在 R 中作為字符讀入的數字數據?

[英]How do I change numeric data that is reading in as a character in R?

我正在嘗試讀取 csv 文件(從調查猴子導出)。 我試過survey <- read.csv("Survey Item Evaluation2.csv", header=TRUE, stringsAsFactors = FALSE)我跑了skim(survey) ,這表明它正在讀取字符。

str(survey)輸出:data.frame:623obs。 68 個變量。 G1(這是一個調查項目)讀作 chr "1" "3" "4" "1" ....

如何將這些調查項目變量更改為數字?

您的問題的正確答案在前兩條評論中由兩個非常受尊敬的人給出,他們的綜合聲譽超過 60 萬。 我會在這里發布他們非常相似的答案:

as.numeric(survey$G1)

但是,在我看來,這不是很好的建議。 你的問題應該是:

“當我確定這個變量應該是數字時,為什么我會得到字符數據?”

答案是:“要么您沒有正確讀取數據(數據是否從第 3 行開始),要么數字數據中存在非數字(垃圾)數據(例如NA輸入為.或其他一些字符),或者某些人輸入了,而不是.來表示小數點(例如印度尼西亞和一些歐洲國家的國民),或者他們輸入了細千位分隔符而不是逗號,或其他一些未知原因需要進一步調查. 也許某組人輸入文本而不是年齡的數字( fifty而不是50 ),或者他們在數據的末尾放一個. ,例如62.5.而不是他們年齡的62.5 (老年人被教導要總是以句號結束句子!)在最后兩種情況下,某些群體(老年人)將丟失數據,然后您的數據不是隨機丟失的(MNAR),這在您的分析中存在很大偏差”。

我經常看到這種情況,我擔心 R 的新用戶會因為得到糟糕的建議,或者因為他們沒有學習基礎知識而犯下嚴重的錯誤。 導入數據是分析的第一步。 這可能很困難,因為數據文件有各種形狀和大小——沒有全球標准。 數據也經常在沒有任何質量控制機制的情況下輸入。 我很高興您在命令中添加了stringsAsFactors=FALSE參數來導入數據。 有人在那里給了你很好的建議。 但是那個人忘記告訴你不要相信你的數據,特別是如果它是由其他人提供給你進行分析的。 在分析之前務必仔細檢查每個變量。 這可能需要時間,但值得投資。

希望至少可以幫助那里的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM