【发布时间】:2018-12-13 12:29:42
【问题描述】:
对不起,我是 R 的新手。
我有我想比较的不同大小的行为序列的频率转换矩阵。因此,我决定将在所有不同矩阵中发现的所有行为序列求和,以构建一个通用矩阵。现在我想将矩阵的值插入到这个通用矩阵中,如下所示:
1 - 通用矩阵:
A B C D E F
A
B
C
D
E
F
2 - 具有值的矩阵:
A C F
A 0 0.2 0.1
C 0.1 0 0
F 0 0.3 0
3 - 新矩阵:
A B C D E F
A 0 0 0.2 0 0 0.1
B 0 0 0 0 0 0
C 0.1 0 0 0 0 0
D 0 0 0 0 0 0
E 0 0 0 0 0 0
F 0 0 0.3 0 0 0
所以我尝试了一个小脚本,但它不起作用。
####
Tab=read.table("XX.csv", header=T, sep=";")
Tab_matrix = as.matrix(Tab);
Tab_col=read.table("Column.csv", header=F, sep=";");
rownames(Tab_matrix) <- Tab_col[1:125,1];
####
Tab_final=read.table("XX_Final.csv", header=T, sep=";");
Tab_matrix_final = as.matrix(Tab_final);
Tab_col_final=read.table("Column_Final.csv", header=F, sep=";");
rownames(Tab_matrix_final) <- Tab_col_final[1:2682,1];
Tab_matrix_final[is.na(Tab_matrix_final)] <- 0
####
y1 <- list(cbind(Tab_matrix),cbind(Tab_matrix_final));
library(data.table)
y2<- rbindlist(lapply(y1, as.data.table), fill = TRUE);
y2[is.na(y2)] <- 0
storage.mode(y2) <- "numeric"
d <- as.data.frame(y2)
【问题讨论】: