从R开始,我被用来通过使用索引将一个简单的值赋值给一个矩阵,例如:
> mat <- matrix(NA,2,3)
> mat
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
> mat[1,2] <- 12
> mat
[,1] [,2] [,3]
[1,] NA 12 NA
[2,] NA NA NA
>
现在,我不得不用Python运行一些脚本,并希望收集2D矩阵中的值。矩阵应该有列和行名,我也想通过索引访问它们。到目前为止,我想到了两种方
我有很多样本,每个样本都有一个相应的丰度矩阵。从这些丰度矩阵中,我想创建一个大矩阵,其中包含行中每个样本的丰度信息。 例如,单个丰度矩阵将如下所示: A B C D
sample1 1 3 4 2 其中A、B、C和D表示列名称,而丰度是行值。 我想通过匹配colname值来填充我的更大的矩阵,它将所有可能的字母(A:Z)和所有可能的样本(sample1:sampleN)作为行,并将所有可能的字母(A:Z)作为colname。 对于ex。: A B C D E F G .... Z
sample1 1 3 4 2
假设您有一个矩阵(X)和第二个矩阵(src),使得X的行名是src的行名的子集,X的列名是src的列名的子集。用src的行和列、X的数据以及用缺省值(如0或NA)填充的缺失数据创建矩阵的最佳方法是什么?
下面是我的尝试,但我觉得在R中必须有一种标准的方法来做这件事。
# Assume row and columns are named
PadColumns <- function(x, src, fill = NA) {
# pad columns with default values
result <- matrix(fill, nrow = nrow(x), ncol
我正在尝试使用来自其他矩阵的值和R来创建一个新的矩阵。我正在尝试在导入这些值时匹配行和列的名称。这就是我们想要做的:
我有两个矩阵;
X1 X2 X3 X4
X1 0 9 8 0
X2 1 2 3 5
X4 6 1 2 4
X1 X2 X3 X4
X1 NA NA NA NA
X2 NA NA NA NA
X3 NA NA NA NA
X4 NA NA NA NA
我想做的是
X1 X2 X3 X4
X1 0 9
我试图从我的矩阵中删除所有colSums !=0列。使用,我已经接近了。
data2<-subset(data, Gear == 20) #subset off larger data matrix
i <- (colSums(data2[,3:277], na.rm=T) != 0) #column selection in this line limits to numeric columns only
data3<- data2[, i] #select only columns with non-zero colSums
这将创建一个向量i,它正确地标识要使用
我在R中执行分析,我想用表的内容填充矩阵的第一行。我遇到的问题是,表的内容根据数据的不同而变化,所以有时矩阵中出现的某些标识符不会出现在表中。
> random.evaluate
DNA LINE LTR/ERV1 LTR/ERVK LTR/ERVL LTR/ERVL-MaLR other SINE
[1,] NA NA NA NA NA NA NA NA
> y
DNA LINE LTR/ERVK LTR/ERVL LTR/ERVL-MaLR S
我已经编写了一个遍历矩阵的脚本,并返回矩阵中每个非NA值的x坐标和y坐标。如何附加此代码以创建附加到坐标的矩阵中每个元素的值的另一列 matrixop = function(m2){
zzz <- NULL
for (i in 1:ncol(m2)){
for (j in 1:nrow(m2)) {
if ((is.na(m2[i,j])) == FALSE ){
}
zzz <- rbind(zzz,c(i,j))
}
}
zzz
}
result = lapply(m1, FUN = matrixop) #m1 being
我有一个网络数据,正在尝试分析它。问题是它有一些缺失的行或列。我想要匹配行和列,所以它可以是一个正方形矩阵
我的数据如下所示:
A B C D E
A 0 2 1 4 5
B 1 0 2 4 2
D 2 4 0 2 2
E 1 2 2 2 0
我想让它看起来像这样:
A B C D E
A 0 2 1 4 5
B 1 0 2 4 2
C NA NA NA NA NA
D 2 4 0 2 2
E 1 2 2 2 0
因为我的数据量非常大,所以我不能手工完成。有没有什么语法可以自动完成呢?
我有一个数据框架(hits_map),其中包含针对每个基因(列)中的结合位点的基因(行)列表。这个值表示每个基因中有多少个位点,NA值为0。
下面是一个小子集,因为实际数据框架要大得多:
AscG Dan.4 IclR.3 MraZ.1
afaE NA 1 NA 1
afaF NA NA NA NA
agn43.1 1 NA 1 NA
agn43.2 1 NA NA NA
agn43.3 1 NA NA NA
chuA
这是与How to identify which columns are not "NA" per row in a matrix?相同的问题,但针对的是数据帧而不是矩阵。 我有一个205行62列的数据帧。我想为没有NA作为它们的值的每一行标识列名。例如: col1 col2 col3 col4 col5 col6
row1 NA NA NA NA fact fact
row2 num num NA NA NA NA
row3 num num NA NA int int
row4 N
给定一个矩阵m,如何对行/变量进行t.test (测试平均值是否与零不同),并得到一个矩阵,其中每列对应于例如,行的t.test$statistic和t.test$p.value。由于某些行有几个NAs,所以我同时希望确保t.test不会因此失败;因此,在本例中,生成矩阵的行在t.test$statistic和t.test$p.value列中都是NA。我想出了如下所示的东西,但我做不到。最后,我需要在一个矩阵列表上这样做,但是如果我能够在一个矩阵上完成它,我就可以在矩阵列表上使用lapply。谢谢!
res <- apply(m, 1, function(x) {
u <- mat