[問題] Read in ranks

作者: AmigoSafin   2018-04-27 13:34:02
[問題類型]:
請把以下不需要的部份刪除
意見調查(我對R 有個很棒的想法,想問問大家的意見)
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
請把以下不需要的部份刪除
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
大家好,
我有1000個baby names的dataset
(dataset只有一個)
名字長相為:
Jacob (1) Benjamin (25) Hunter (49) Diego (73) Miguel (97) Michael (2)
Zachary (26)
以上為第一個row
我使用read.fwf想讀入dataset
但錯誤訊息顯示我沒有widths
我的code為
bnames <- read.fwf(paste0(dirdata, "top-1000-baby-names.txt",widths,
header = FALSE, sep = "\t",
skip = 0, row.names, col.names, n = -1,
buffersize = 2000, fileEncoding = ""))
請問:
1)我是否應該一項一項define widths 只是遇到()我該怎麼處理?
()內為rank
2)若是我轉換為csv檔案會比較好讀入嗎?
謝謝大家~~
[程式範例]:
[關鍵字]:
選擇性,也許未來有用
作者: andrew43 (討厭有好心推文後刪文者)   2018-04-27 14:43:00
讀入後針對"(數字)"做字串處理再轉回數字型態就好了x <- c("(26)", "(1234456)", "(0)")as.numeric(gsub("^\\(([[:digit:]]+)\\)$", "\\1", x))喔我看錯問題了... sorry各列欄位各數不同可用data.table::fread(..., fill = T)若欄數相同則read.table(..., sep=" ")就可以了至於read.fwf適合各欄內字元數皆相同的情況
作者: Edster (Edster)   2018-04-27 17:18:00
這到不一定, 如果是氣象資料, 空白也是資料的這種就要用read.fwf, 要看的資料決定.我是花半小時多自己建width應該沒有其他聰明的方法了.
作者: andrew43 (討厭有好心推文後刪文者)   2018-04-27 19:08:00
嗯嗯我確實沒考慮空白怎麼看待。視之後需求。
作者: AmigoSafin   2018-04-28 23:05:00
了解~~似乎是沒有,但我看解答用scan讀入 我再試試tks

Links booklink

Contact Us: admin [ a t ] ucptt.com