[問題] 讀取資料後的資料格式轉換

作者: SHORTHAPPY   2021-01-24 02:05:02
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
我用下面這行讀取資料
expenses <- read.csv("expenses.csv", stringsAsFactors=FALSE)
資料內欄位有字串也有數字與日期
但用str(expenses)查看時
所有欄位都顯示chr如下,不能做數字計算
'data.frame': 605 obs. of 7 variables:
$ Date : chr "1/22/2017" "1/13/2017" "1/22/2017" "2/19/2017" ...
$ Day : chr "22" "13" "22" "19" ...
$ Month : chr "Jan" "Jan" "Jan" "Feb" ...
$ Weekday : chr "Sunday" "Friday" "Sunday" "Sunday" ...
$ Amount : chr "3" "13" "15" "36" ...
$ Category: chr "Grooming and Health" "Grooming and Health" "Grooming and
Health" "Grooming and Health" ...
$ Comment : chr "Hajmola" "Crocin" "Digeine" "Sinarest" ...
我試了as.numeric(expenses$amount)
還是沒把格式改成numeric
整個卡住 ><
請問要怎麼做?
謝謝大家
作者: evilove (願意感動就是一種享受)   2021-01-24 05:47:00
檢查一下你的amount有沒有非數字在裡面
作者: SHORTHAPPY   2021-01-24 07:43:00
謝謝回應,我試過把欄位刪除,amount的格式就變成int可是欄位名稱就不見了 @@
作者: khaos (出來混的...)   2021-01-24 08:47:00
路過,忘記有沒有header的參數
作者: SHORTHAPPY   2021-01-24 09:42:00
我剛試了read.csv("expenses.csv", header = TRUE ,,stringsAsFactors=FALSE) 還是都是chr欸 ><
作者: andrew43 (討厭有好心推文後刪文者)   2021-01-24 10:44:00
檢查像是空白鍵之類的符號是不是藏在裡面
作者: fox1375 (阿吠)   2021-01-25 01:59:00
as.numeric完有沒有賦值回去?或是先單純把as.numeric的結果print出來,看看是哪一個element轉換失敗
作者: SHORTHAPPY   2021-01-25 03:36:00
有傳值回來,都是正負數字,然後有一個Warning messageNAs introduced by coercion
作者: fox1375 (阿吠)   2021-01-25 12:09:00
那就是裡面有元素轉換失敗了,去看是哪些
作者: SHORTHAPPY   2021-01-26 13:10:00
好,謝謝
作者: howard01473 (howardwang)   2021-01-29 02:19:00
as.numeric(as.character(expenses$amount)) 改這樣呢?
作者: khaos (出來混的...)   2021-01-31 17:55:00
建議還是先看看原始資料

Links booklink

Contact Us: admin [ a t ] ucptt.com