【问题标题】:how to read a matrix from text file in R如何从R中的文本文件中读取矩阵
【发布时间】:2020-10-25 10:35:00
【问题描述】:

我有一个文本文件名 "A.txt" 。在那里,我有以下数据:

1 3 4 
2 3 4 
5 6 7 

我想阅读它并在 R 软件中另存为 A 向量。我怎样才能做到这一点 ?

更新:

我已经尝试过以下代码:

R> dat <- as.numeric(readLines('D:/Simplex/SimplexInitialTheoryWithRsoftware/src/A.txt'))
R>  dat.matrix <- matrix(dat, nrow=??)

但我有以下错误。

错误:“dat.matrix

我是这个软件的新手。请帮帮我

【问题讨论】:

  • 只需将read.table 读取为data.frame 并使用as.matrix(或unlist,如果你真的想要一个原子向量)。
  • 罗兰,你能看到更新吗?
  • 错误:“dat.matrix
  • @osimer pothe 你提到你想read it and save as A vector。所以,我不明白matrix(dat, nrow=??) 命令。

标签: r


【解决方案1】:

从您开始的方式看来,您正在搜索scan 函数。

mat <- scan('A.txt')
mat <- matrix(mat, ncol = 3, byrow = TRUE)

【讨论】:

  • 感谢您的帮助。但实际上我正在通过 java 文件生成一个 [][] 矩阵。这里 row 和 col 也是随机生成的。所以行数不固定。
  • 但您要求将其作为矢量读入。如果您希望将其作为矩阵读入,请使用read.table 命令将其读入,但如 Roland 建议的那样,为其提供所需的所有信息。 read.table 是那些在 R 中实际上有非常有用帮助的罕见命令之一。然后只需使用 as.matrix。
【解决方案2】:

这样做 用列标题定义矩阵:

Col1 Col2 Col3 
1 3 4 
2 3 4 
5 6 7 
d<-read.table("/home/shad/Desktop/A.txt",header=TRUE,sep=" ")

然后像这样访问它:

d[1,1]
d[1,2]

数字转换见documentation 希望对你有帮助

【讨论】:

    【解决方案3】:

    帖子有点旧,但答案直到今天仍然有效。

    aa <- as.matrix(read.table("A.txt", sep=" "))
    

    【讨论】:

    • 不错的答案,@AMS,但右侧缺少括号,因此:aa &lt;- as.matrix(read.table("A.txt", sep=" "))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多