R:按行分割的txt文件中的数字

R:按行分割的txt文件中的数字,r,R,我在读取R中的.txt时遇到问题 数据如下所示: 68 89 103 1 37 8 103 9 78 93 8 12 3 50 我在R中使用了readLine并给出了一个列表。但是当我将它与原始数据进行比较时,我发现,例如,第一行中的最后一个1不是1,它应该连接到第二行,这使数字变成E137,而不是1和37。我认为这些数据是按比例划分的。如果使用readLine,则手动拆分行。我怎样才能正确地阅读它? 9号线没有连接到78号线,因为在3号线的开头有一个空格。数字12与表123中的3相连

我在读取R中的.txt时遇到问题

数据如下所示:

68 89 103 1

37 8 103  9

78 93 8 12

3 50
我在R中使用了readLine并给出了一个列表。但是当我将它与原始数据进行比较时,我发现,例如,第一行中的最后一个1不是1,它应该连接到第二行,这使数字变成E137,而不是1和37。我认为这些数据是按比例划分的。如果使用readLine,则手动拆分行。我怎样才能正确地阅读它? 9号线没有连接到78号线,因为在3号线的开头有一个空格。数字12与表123中的3相连,因为3前面没有空格

谢谢。我甚至不知道如何在谷歌上搜索我的问题。我不知道如何表达它

182 63 68 152 130 134 145 152 98 152 182 88 95 105 130 137 167 152 81 71 84 126 134 152 116 130 91 63 68 84 95 152 105 152 63
 102 152 63 77 112 140 77 119 152 161 167 105 112 145 161 182 152 81 95 84 91 102 108 130 134 91

1 2 1 4 3 6 1 1 5 2 1 5 2 3 4 5 5 1 2 6 1

63 102 119 161 161 172 179 88 91 95 105 112 119 119 137 145 167 172 91 98 108 112 134 137 161 161 179 71 174 95 105 134 134 1
37 140 145 150 150 68 68 130 137 77 95 112 137 161 174 81 84 126 134 161 161 174 68 77 98 102 102 102 112 88 88 91 98 112 134
 134 137 137 140 140 152 152 77 179 112 71 71 74 77 112 116 116 140 140 167 77 95 126 150 88 126 130 130 134 63 74 84 84 88 9
1 95 108 134 137 179 81 88 105 116 123 140 145 152 161 161 179 88 95 112 119 126 126 150 157 179 68 68 84 102 105 119 123 123
 137 161 179 182 140 152 182 182 81 63 88 134 84 134 182


7 11 9 2 9 4 6 7 6 1 13 2 1 10 4 5 11 11 9 12 1 3 1 3 3
基本上,我现在做的是: 例如,向量:

ind <- c(7, 11, 9, 2 ,9 ,4 ,6, 7, 6 ,1, 13, 2 ,1 ,10 ,4 ,5 ,11 ,11, 9 ,12, 1, 3 ,1, 3 ,3)

但是,问题是我无法正确读取数字块。

根据您描述的条件,即,如果在使用readLines读取文件后,行的开头有空格,则前一行中的最后一个数字应与当前行的第一个数字合并

使用你的第二个例子,我不理解ind


我在代码编辑器中复制数据。我想这是你能看到的形状。没有办法使用read.table它是一个txt文件。我还没试过扫描。我将立即检查该函数。我尝试使用扫描,但它会自动被\n和分割。我不想将\n作为空间拆分。请查看sub\\s+,r[nzharr],其中r是从读线读入的对象,它将删除所有错误的空格和新行。谢谢Richard。我现在就去试试。
split(vector, rep(1:length(ind), ind))
lines1 <- readLines(n=10)
182 63 68 152 130 134 145 152 98 152 182 88 95 105 130 137 167 152 81 71 84 126 134 152 116 130 91 63 68 84 95 152 105 152 63
 102 152 63 77 112 140 77 119 152 161 167 105 112 145 161 182 152 81 95 84 91 102 108 130 134 91

1 2 1 4 3 6 1 1 5 2 1 5 2 3 4 5 5 1 2 6 1

63 102 119 161 161 172 179 88 91 95 105 112 119 119 137 145 167 172 91 98 108 112 134 137 161 161 179 71 174 95 105 134 134 1
37 140 145 150 150 68 68 130 137 77 95 112 137 161 174 81 84 126 134 161 161 174 68 77 98 102 102 102 112 88 88 91 98 112 134
 134 137 137 140 140 152 152 77 179 112 71 71 74 77 112 116 116 140 140 167 77 95 126 150 88 126 130 130 134 63 74 84 84 88 9
1 95 108 134 137 179 81 88 105 116 123 140 145 152 161 161 179 88 95 112 119 126 126 150 157 179 68 68 84 102 105 119 123 123
 137 161 179 182 140 152 182 182 81 63 88 134 84 134 182

 lines2 <- lines1[lines1!=''] #remove blank lines
 indx <- grep("^ ", lines2) #create a numeric index for lines that start with a space
 indx1 <- indx-1 #index that is one above the previous `indx`
 lines2[indx1] <- paste0(lines2[indx1], gsub("^\\s+", "", lines2[indx])) #paste the lines together using the two indexes 
 lines3 <- lines2[-indx] #remove the lines that belong to the first index

 lines3
 #[1] "182 63 68 152 130 134 145 152 98 152 182 88 95 105 130 137 167 152 81 71 84 126 134 152 116 130 91 63 68 84 95 152 105 152 63102 152 63 77 112 140 77 119 152 161 167 105 112 145 161 182 152 81 95 84 91 102 108 130 134 91"                             
 #[2] "1 2 1 4 3 6 1 1 5 2 1 5 2 3 4 5 5 1 2 6 1"                                                                                                                                                                                                                
 #[3] "63 102 119 161 161 172 179 88 91 95 105 112 119 119 137 145 167 172 91 98 108 112 134 137 161 161 179 71 174 95 105 134 134 1"                                                                                                                            
 #[4] "37 140 145 150 150 68 68 130 137 77 95 112 137 161 174 81 84 126 134 161 161 174 68 77 98 102 102 102 112 88 88 91 98 112 134134 137 137 140 140 152 152 77 179 112 71 71 74 77 112 116 116 140 140 167 77 95 126 150 88 126 130 130 134 63 74 84 84 88 9"
 #[5] "1 95 108 134 137 179 81 88 105 116 123 140 145 152 161 161 179 88 95 112 119 126 126 150 157 179 68 68 84 102 105 119 123 123137 161 179 182 140 152 182 182 81 63 88 134 84 134 182"