从R中的固定宽度文件读取矩阵

标签 r file matrix

我是 R 世界的新手,我有一个包含如下行系列的文件:

"0000010000010000000101000001000000011000000001
 0000000000000000000000010001000001001000110001
 0000100000000000000000010000000000000000010100
 0100000001100000000001001001100000010000000001
 0001000000000100010000010000000000010000000000"

我想从这个字符串开始构建一个矩阵。从现在开始我写了这段代码:

for(line in readLines(ff)){
     line <- as.numeric(substring(line, seq(1,nchar(line),1), seq(1,nchar(line),1)))
}

但它只从文件中提取行,我如何使用 line 向量构建矩阵?

最佳答案

您还可以使用:

t <- readLines(textConnection("0000010000010000000101000001000000011000000001
0000000000000000000000010001000001001000110001
0000100000000000000000010000000000000000010100
0100000001100000000001001001100000010000000001
0001000000000100010000010000000000010000000000"))

do.call("rbind", lapply(strsplit(t, ""), as.numeric))

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
[1,]    0    0    0    0    0    1    0    0    0     0     0     1     0     0
[2,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0
[3,]    0    0    0    0    1    0    0    0    0     0     0     0     0     0
[4,]    0    1    0    0    0    0    0    0    0     1     1     0     0     0
[5,]    0    0    0    1    0    0    0    0    0     0     0     0     0     1
     [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
[1,]     0     0     0     0     0     1     0     1     0     0     0     0
[2,]     0     0     0     0     0     0     0     0     0     1     0     0
[3,]     0     0     0     0     0     0     0     0     0     1     0     0
[4,]     0     0     0     0     0     0     0     1     0     0     1     0
[5,]     0     0     0     1     0     0     0     0     0     1     0     0
     [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
[1,]     0     1     0     0     0     0     0     0     0     1     1     0
[2,]     0     1     0     0     0     0     0     1     0     0     1     0
[3,]     0     0     0     0     0     0     0     0     0     0     0     0
[4,]     0     1     1     0     0     0     0     0     0     1     0     0
[5,]     0     0     0     0     0     0     0     0     0     1     0     0
     [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46]
[1,]     0     0     0     0     0     0     0     1
[2,]     0     0     1     1     0     0     0     1
[3,]     0     0     0     1     0     1     0     0
[4,]     0     0     0     0     0     0     0     1
[5,]     0     0     0     0     0     0     0     0

关于从R中的固定宽度文件读取矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933269/

相关文章:

r - 如何在 Shiny 的仪表板中制作信息按钮

控制台和文件上的 Python 输出

python - 选择 Numpy 数组的最后一个值

c++ - 特征矩阵作为函数的默认参数

r - 为什么在将点传递给 purrr 中的映射函数时需要引用或取消引用点?

r - 对齐多个具有不同间距的图并在它们之间添加箭头

r - 按组匹配等于或小于的值

linux - 基于第三个数字键的反向排序

java - Android Studio : loading file from local directory for testing

arrays - 散点数据插值