我是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!
这是我的数据集的快照,可根据要求提供。
答案 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