![](/img/trans.png)
[英]Why do data frame columns in R that I specify as numeric change to character?
[英]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.