如何从 R 中的固定宽度文本文件中删除空格
How to remove spaces from a fixed-width text file in R
我想将如下所示的文本文件加载到 R 中,删除所有空格,然后重写该文件。
1 061
061 1
0 081
080 1
0 061
060 1
1 051
051 1
0 101
100 1
我的方法是使用 readlines(),删除每行中的空格,然后重写。
这是最好的方法吗?
这个问题与仅仅询问如何从字符串中删除空格不同,因为它涉及以可预测模式构建为行的数据。
我不确定你删除空格的确切含义,但如果数据采用你描述的格式,那么 read.table
可以轻松读取它。
> tbl <- read.table(text = "
1 061
061 1
0 081
080 1
0 061
060 1
1 051
051 1
0 101
100 1
")
> tbl
V1 V2
1 1 61
2 61 1
3 0 81
4 80 1
5 0 61
6 60 1
7 1 51
8 51 1
9 0 101
10 100 1
如果您随后想要合并列以便获得不带空格的字符串,只需执行此操作
> no_space <- apply(tbl, 1, function(row) paste0(row, collapse = ""))
> no_space
[1] "161" "611" "081" "801" "061" "601" "151" "511"
[9] "0101" "1001"
如果您想要更好的格式,cat
可以为您完成。
> cat(paste0(no_space, collapse = "\n"))
161
611
081
801
061
601
151
511
0101
1001
您可以使用 cat
的 file
参数将其写入文件。
我想将如下所示的文本文件加载到 R 中,删除所有空格,然后重写该文件。
1 061
061 1
0 081
080 1
0 061
060 1
1 051
051 1
0 101
100 1
我的方法是使用 readlines(),删除每行中的空格,然后重写。
这是最好的方法吗?
这个问题与仅仅询问如何从字符串中删除空格不同,因为它涉及以可预测模式构建为行的数据。
我不确定你删除空格的确切含义,但如果数据采用你描述的格式,那么 read.table
可以轻松读取它。
> tbl <- read.table(text = "
1 061
061 1
0 081
080 1
0 061
060 1
1 051
051 1
0 101
100 1
")
> tbl
V1 V2
1 1 61
2 61 1
3 0 81
4 80 1
5 0 61
6 60 1
7 1 51
8 51 1
9 0 101
10 100 1
如果您随后想要合并列以便获得不带空格的字符串,只需执行此操作
> no_space <- apply(tbl, 1, function(row) paste0(row, collapse = ""))
> no_space
[1] "161" "611" "081" "801" "061" "601" "151" "511"
[9] "0101" "1001"
如果您想要更好的格式,cat
可以为您完成。
> cat(paste0(no_space, collapse = "\n"))
161
611
081
801
061
601
151
511
0101
1001
您可以使用 cat
的 file
参数将其写入文件。