r - 需要帮助将表格转换为矩阵

时间:2013-08-19 15:21:00

标签: r file-io matrix read.table

我是R的新手,我无法理解read.table()中的所有参数。我有一个带标题的文本文件,大约有50行。列由制表符分隔。我做了以下。

data <- read.table("/Accounts/changy/Desktop/GreekProject/outputWithoutQuantity.txt",header=TRUE,sep="\t", quote = "")

现在,我想创建一个矩阵,但省略标题(第一行)。另外,read.table为我已编号的每一行生成编号行,我不希望我的矩阵完全编号,所以我还需要省略前两列。有人能指出我正确的方向吗?我知道

matrixData <- as.data.frame.matrix(data)

是这样做的,但它没有像我想的那样格式化行和列。感谢您提前提供任何帮助,从完整的初学者到R!

这是我的数据集的快照,可根据要求提供。

http://postimg.org/image/b7h97rd7d/

1 个答案:

答案 0 :(得分:4)

这是一个建议。它是否按你的意愿工作?

 ## Test dataset
 data = data.frame(col1 = c(1,2,3,4), col2 = c(0,0, 1, 0), col3 = c(1,0,0,1))
 write.table(data, "data.txt", row.names = FALSE)
 data.txt = read.table("data.txt", header = TRUE)

 data.mat = as.matrix(data.txt[,-1])  # gets rid of the leftmost column(as you requested)
 dimnames(data.mat) <-list(rep("", dim(data.mat)[1]), rep("", dim(data.mat)[2]))

这将是输出

0 1
0 0
1 0
0 1

而不是:

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