我有一个数据框,行名称中有单元格ID,列x中有分类。
x
ACCTTAC do
ACCGTGG si
AGTCGGG si
我还有一个矩阵,列中有细胞ID,行中有基因。
ACCTTAC ACCGTGG AGTCGGG
Gene1 4 5 1
Gene2 3 1 0
Gene3 3 3 1
我想粘贴来自数据框的矩阵分类的名称,请参见下面的示例。
do_ACCTTAC si_ACCGTGG si_AGTCGGG
Gene1 4 5 1
Gene2 3 1 0
Gene3 3 3 1
dput(df)
structure(list(x = c("do", "si", "si"), row.names = c("ACCTTAC", "ACCGTGG", "AGTCGGG"), class = "data.frame"))
mat = matrix(c(8,4,5,6,7,9,1,8,9),nrow = 3, ncol = 3,byrow = TRUE)
mat <- matrix(1:9, nrow = 3,dimnames = list(c("Gene1","Gene2","Gene3"), c("ACCTTAC","ACCGTGG","AGTCGGG")))
Les根据您的数据代码使用列名和行名:
dataframe <- data.frame(x = c("do", "si", "si"),
row.names = c("ACCTTAC", "ACCGTGG", "AGTCGGG"))
mat <- matrix(c(8,4,5,6,7,9,1,8,9),nrow = 3, ncol = 3,byrow = TRUE)
mat <- matrix(1:9, nrow = 3,dimnames = list(c("Gene1","Gene2","Gene3"),
c("ACCTTAC","ACCGTGG","AGTCGGG")))
dataframe$col_names <- row.names(dataframe)
for(i in 1:ncol(mat)) {
for(j in 1:nrow(dataframe)) {
if(row.names(dataframe)[j] == colnames(mat)[i])
colnames(mat)[i] = paste0(dataframe$x[j],"_",dataframe$col_names[j])
}
}
结果是:
> mat
do_ACCTTAC si_ACCGTGG si_AGTCGGG
Gene1 1 4 7
Gene2 2 5 8
Gene3 3 6 9
我在R中有两个数据帧,我想把它们转换成矩阵。这是我手上的示例数据 一个data.frame有2列,一列有名称,第二列有一些分数。 其他数据帧为一列,包含上述数据帧的的半名称。 我想要结果矩阵/数据。框架类似于下面的内容。我要切掉第一个数据。框架的第一列包含第二个数据。框架的列,并创建一个如下所示的矩阵。 任何帮助都将不胜感激。任何或解决方案都可以工作。 非常感谢。
我有一个尺寸为3695 X 20的数据框。第一列包含字母数字标识符,其他19列都是数字。因此,rownames(df)提供数字1-3695,colnames(df)提供列的名称。df[,1]提供字母数字标识符。 我希望将数据框转换为矩阵,并使用现有数据框的第1列作为新矩阵的行名称,并将数据框的列名保留为矩阵的列名。 我还想自动化这个过程,用于类似但不同维度的数据帧。因此,如果解决这个问题需要知道行
我有一个事件日志数据框,每行是一个事件(如查看项目),其中包含列,,以及用户分配项目的。我想创建一个表示所有用户-项目交互的数据框:表示为二维矩阵,每个(i,j)表示用户i和项目j的分数(下图截图)。如果用户尚未看到该产品,则分配NaN。 我试过用循环做这件事,但正如预期的那样,运行时间太长: 有没有更快的方法? 根据评论中的要求,我的数据帧的头部<代码>事件类型与上述分数类似。
示例数据: 我想计算每个唯一列名称的平均值和标准偏差(忽略NA)以获得如下输出: 可再现数据: 我得到的最接近的是 这是我从这篇文章中得到的,但我不知道如何调整它来得到我想要的。我知道我可以取rowmeans的平均值来得到每组的平均值,但这不适用于标准差。
我有一个带有两个变量X和Y的pandas数据帧(大约1M行),并且希望使用scipy,sparse创建一个稀疏矩阵。输出应该是一个n x m矩阵,如果x=x和Y=Y,则其条目为1。 下面是数据结构的示例 所需的输出为 提前致谢
问题内容: 我有一个熊猫数据框,看起来像这样: 一千行左右,六列。大多数单元格为空(NaN)。考虑到不同的列中包含文本,我想知道每列中文本的概率是多少。例如,这里的小片段将产生如下内容: 也就是说,Al01栏中有4个匹配项;在这4个匹配中,BBR60列中没有匹配,CA07列中也没有匹配,NL219列中有3个匹配。等等。 我可以遍历每一列并使用值构建字典,但这似乎很笨拙。有没有更简单的方法? 问题答