[问题] 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