【发布时间】:2022-12-18 21:37:00
【问题描述】:
我有一个包含 5777 列和行的方阵。
head(data)
1.3 4.5 6 7 8.9 0 7.6
4.5 6.7 8 9 0.1 8 7.2
4.5 6 7 8.9 0.1 8 8.3
6.7 8 9 0.1 7.9 6.0 5
2.4 6.7 8 3 0.1 8 7.4
8 9 0.1 7.9 6.0 5 5.6
我想将列名和行名插入到矩阵中。这些存在于文本文件中。此文本文件的总行数为 5777。
head(file.txt)
A1
B2
C3
D4
E5
F6
G7
我怎样才能在矩阵中插入列表(行名和列名),所以它看起来像这样
A1 B2 C3 D4 E5 F6 G7
B2 1.3 4.5 6 7 8.9 0 7.6
C3 4.5 6.7 8 9 0.1 8 7.2
D4 4.5 6 7 8.9 0.1 8 8.3
E5 6.7 8 9 0.1 7.9 6.0 5
F6 2.4 6.7 8 3 0.1 8 7.4
G7 8 9 0.1 7.9 6.0 5 5.6
我努力了
#read in row names and column names
names <- read.table("armlympho_matrix.snplist")
#read in matrix
data <- read.table("armlympho_matrix.ld")
#set the row names and column names in matrix
colnames(data) <- names
rownames(data) <- names
ERROR:
Error in `.rowNamesDF<-`(x, value = value) : invalid 'row.names' length
Calls: rownames<- ... row.names<- -> row.names<-.data.frame -> .rowNamesDF<-
Execution halted
输出完全错误
c("A1" "B2" "C3" "D4" "E5" "F6" "G7")
NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA
【问题讨论】:
-
read.table返回一个数据框。如果必须使用第一列作为列名,请使用colnames(data) <- header[[1]]。否则请准确描述您正在运行的代码的问题所在。 -
请试试
header <- scan("file.txt", what = character())。
标签: r