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

看板R_Language作者時間3年前 (2021/01/24 02:05), 編輯推噓4(4012)
留言16則, 6人參與, 3年前最新討論串1/1
[問題類型]: 程式諮詢(我想用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 整個卡住 >< 請問要怎麼做? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 76.85.38.120 (美國) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1611425104.A.EB1.html

01/24 05:47, 3年前 , 1F
檢查一下你的amount有沒有非數字在裡面
01/24 05:47, 1F

01/24 07:43, 3年前 , 2F
謝謝回應,我試過把欄位刪除,amount的格式就變成int
01/24 07:43, 2F

01/24 07:44, 3年前 , 3F
可是欄位名稱就不見了 @@
01/24 07:44, 3F

01/24 08:47, 3年前 , 4F
路過,忘記有沒有header的參數
01/24 08:47, 4F

01/24 09:42, 3年前 , 5F
我剛試了read.csv("expenses.csv", header = TRUE ,
01/24 09:42, 5F

01/24 09:43, 3年前 , 6F
,stringsAsFactors=FALSE) 還是都是chr欸 ><
01/24 09:43, 6F

01/24 10:44, 3年前 , 7F
檢查像是空白鍵之類的符號是不是藏在裡面
01/24 10:44, 7F

01/25 01:59, 3年前 , 8F
as.numeric完有沒有賦值回去?或是先單純把as.numeric的
01/25 01:59, 8F

01/25 01:59, 3年前 , 9F
結果print出來,看看是哪一個element轉換失敗
01/25 01:59, 9F

01/25 03:36, 3年前 , 10F
有傳值回來,都是正負數字,然後有一個Warning message
01/25 03:36, 10F

01/25 03:36, 3年前 , 11F
NAs introduced by coercion
01/25 03:36, 11F

01/25 12:09, 3年前 , 12F
那就是裡面有元素轉換失敗了,去看是哪些
01/25 12:09, 12F

01/26 13:10, 3年前 , 13F
好,謝謝
01/26 13:10, 13F

01/29 02:19, 3年前 , 14F
as.numeric(as.character(expenses$amount)) 改這樣
01/29 02:19, 14F

01/29 02:19, 3年前 , 15F
呢?
01/29 02:19, 15F

01/31 17:55, 3年前 , 16F
建議還是先看看原始資料
01/31 17:55, 16F
文章代碼(AID): #1W36LGwn (R_Language)
文章代碼(AID): #1W36LGwn (R_Language)