如何从R中的固定宽度文本文件中删除空格

时间:2018-03-19 15:00:36

标签: r text spaces fixed-width

我想在R中加载一个如下所示的文本文件,删除所有空格,然后重写文件。

1 061
061 1
0 081
080 1
0 061
060 1
1 051
051 1
0 101
100 1

我的方法是使用readlines(),删除每行中的空格,然后重写。

这是最好的方法吗?

这个问题不仅仅是询问如何从字符串中删除空格,因为它涉及以可预测模式框架为行的数据。

1 个答案:

答案 0 :(得分:1)

我不确定删除空格的确切含义,但如果数据采用您描述的格式,则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

您可以使用file的{​​{1}}参数将其写入文件。