0

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

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

换句话说,最终的数据集应该是一个数字矩阵,其中列包含对每个项目的响应,行是考生。任何想法??

4

2 回答 2

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

哦,祝 StackOverflow 之旅愉快!

于 2013-05-29T19:30:06.310 回答
1

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

您仍然可以将该read.fwf方法与textConnection.

您可以使用该strsplit函数将字符串拆分为单个数字,然后as.numeric将它们转换为数字。

您可以使用strapplygsubfn 包中的函数来匹配单个数字并提取它们(并as.numeric再次传递)。

于 2013-05-29T20:20:18.127 回答