如何将无空间数据转换为R中分隔的制表符?

时间:2013-05-29 19:21:31

标签: r dataset matrix

我有一个以下形式的数据集:(这只是一个例子)

1324501020
3241030205
4332020134

其中每行代表考生对测试中的一组项目的响应。 数据存储在文本文件(例如data.txt)中,但我需要将它们转换为矩阵格式,以便每个数字都放在一个单元格中,如下所示:

1 3 2 4 5 0 1 0 2 0
3 2 4 1 0 3 0 2 0 5
4 3 3 2 0 2 0 1 3 4

换句话说,最终数据集应该是数字矩阵,其中列包含对每个项目的响应,行是受检者。 有什么想法??

2 个答案:

答案 0 :(得分:5)

x <- read.fwf(file = "c:\\whatever\\data.txt", width=c(1,1,1,1,1,1,1,1,1,1))

哦,有一次很棒的StackOverflow之旅!

答案 1 :(得分:1)

如果数据位于文本文件中且文件仅包含所示数据,则最佳方法可能是@Penguin_Knight所描述的read.fwf方法。但是如果文件中有其他数据字段不符合固定宽度格式,或者数据已经以不同的方式被复制或抓取,以便它已经在R中的字符向量中,那么这里有一些其他的选项。

您仍然可以使用read.fwf方法{/ 1}}。

您可以使用textConnection功能将字符串拆分为单个数字,然后使用strsplit将字符串转换为数字。

您可以使用gsubfn包中的as.numeric函数来匹配各个数字并将其解压缩(并再次传递给strapply)。