假设 a 有一个由字符串组成的向量,就像这样:
> string
[1] " 26 10.00 28.00 28.00 28.00 28.00 28.00 28.00 26"
[2] " 27 10.00 28.00 28.00 28.00 28.00 28.00 28.00 27"
[3] " 28 10.00 28.00 28.00 28.00 28.00 28.00 28.00 28"
[4] " 29 10.00 28.00 28.00 28.00 28.00 28.00 29"
[5] " 30 10.00 28.00 28.00 28.00 28.00 28.00 30"
[6] " 31 10.00 28.00 28.00 28.00 31"
我想把它读成data.frame
6 行 9 列,像这样:
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 26 10 28 28 28 28 28 28 26
2 27 10 28 28 28 28 28 28 27
3 28 10 28 28 28 28 28 28 28
4 29 10 NA 28 28 28 28 28 29
5 30 10 NA 28 28 28 28 28 30
6 31 10 NA 28 NA 28 NA 28 31
其中每个空单元格被视为NA
. 我试过 useread.table
和 setting fill=TRUE
,但它不起作用,因为结果是这样的:
> read.table(textConnection(string), sep="", fill=TRUE)
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 26 10 28 28 28 28 28 28 26
2 27 10 28 28 28 28 28 28 27
3 28 10 28 28 28 28 28 28 28
4 29 10 28 28 28 28 28 29 NA
5 30 10 28 28 28 28 28 30 NA
6 31 10 28 28 28 31 NA NA NA
我坚持这一点。也许这比我想象的要容易,但我不知道该怎么做:(
这是数据:
string <- c(" 26 10.00 28.00 28.00 28.00 28.00 28.00 28.00 26",
" 27 10.00 28.00 28.00 28.00 28.00 28.00 28.00 27",
" 28 10.00 28.00 28.00 28.00 28.00 28.00 28.00 28",
" 29 10.00 28.00 28.00 28.00 28.00 28.00 29",
" 30 10.00 28.00 28.00 28.00 28.00 28.00 30",
" 31 10.00 28.00 28.00 28.00 31")