【发布时间】:2015-07-22 03:42:50
【问题描述】:
我正在尝试从网站中提取值。提取的值如下所示。
"3000 ---- ---- ---- ---- '1 UNCH '1"
"4600 ---- ---- ---- ---- '1 UNCH '1"
"4800 ---- ---- ---- ---- '1 UNCH '1"
"5000 ---- ---- ---- ---- '1 UNCH '1 300"
"5200 ---- ---- ---- ---- '1 UNCH '1"
"5400 ---- ---- ---- ---- '1 UNCH '1"
"5600 ---- ---- ---- ---- '1 UNCH '1 10"
"5800 ---- ---- ---- ---- '1 UNCH '1 1"
"6000 ---- ---- ---- ---- '1 UNCH '1 5461"
"6200 ---- ---- ---- ---- '1 UNCH '1 54"
"6400 ---- ---- ---- ---- '1 UNCH '1 2009"
"6600 ---- ---- ---- ---- '1 UNCH '1 124"
"6800 ---- ---- ---- ---- '1 UNCH '1 410"
"7000 ---- ---- ---- ---- '1 -'1 '2 10704"
"7200 ---- ---- '2A ---- '2 -'1 '3 9927"
"7400 ---- ---- ---- ---- '3 UNCH '3 7869"
"7600 ---- ---- ---- ---- '4 UNCH '4 30 13596"
"7800 ---- ---- ---- ---- '5 -'1 '6 109 16030"
"8000 '7 '7 '7 '7 '7 -'1 467 1'0 731 26912"
"8200 1'4 1'4 1'3 ---- 1'2 -'2 119 1'4 222 11030"
"8400 2'2 2'2 2'0 2'0 1'7 -'4 426 2'3 172 15743"
"8600 3'1 3'3 2'7 3'0A 3'0 -'4 66 3'4 330 18964"
有些行的列值较少。我想创建一个 11 列的数据框,空白的值应该保持空白。当我尝试根据空间拆分值时,列值较少的行会重叠并重复。请找到我尝试过的代码。
cc=gsub("\\s+"," ",df)
cc=data.frame(cc)
cc = data.frame(do.call('rbind', strsplit(as.character(cc),' ',fixed=TRUE)))
【问题讨论】:
-
有什么理由不能尝试使用
read.table()? -
你为什么要
gsubbing 占用空间?似乎在\\s+上strsplit可能更有意义 -
我将在后面的步骤中拆分它。我想用单个空格替换所有空格,然后根据单个空格拆分值
-
我使用 readlines 从网页中提取值并获取我想要的部分。所以我将无法使用读取表