gpt4 book ai didi

r - 数据帧的独立行的总和以递增的方式

转载 作者:行者123 更新时间:2023-12-04 20:38:58 27 4
gpt4 key购买 nike

我有一个 data.frame那是 100x100,我需要将它们总结为自动扶梯。从第一列的第一个条目开始,然后继续将第二列的第一个条目添加到第一列的第二个条目,依此类推,直到最后一个条目是最后一列的最后一行。将其视为对角矩阵,例如

d3 <- data.frame(a = c(rep(0.5,5),0,0), b = c(0,rep(0.3,5),0), e = c(0,0,rep(0.8,5)))

可能有助于理解问题。我想对矩阵的行求和,如 d3 .

我试图创建一个小例子,但我一直无法创建一个循环或一个简化工作的函数。

我有这个数据:
d <- data.frame(a = rep(0.5,5), b = rep(0.3,5), e = rep(0.8,5))

我需要一种方法来创建带有条目的单个向量:
d2 <- rep(NA)
d2[1] <- d$a[1]
d2[2] <- sum(d$a[2],d$b[1])
d2[3] <- sum(d$a[3],d$b[2],d$e[1])
d2[4] <- sum(d$a[4],d$b[3],d$e[2])
d2[5] <- sum(d$a[5],d$b[4],d$e[3])
d2[6] <- sum(d$b[5],d$e[4])
d2[7] <- d$e[5]

等于 c(0.5, 0.8, 1.6, 1.6, 1.6, 1.1, 0.8) .

预先感谢您的帮助

最佳答案

你可以试试

m1 <- as.matrix(d)
unname(tapply(m1, col(m1)+row(m1), FUN=sum))
#[1] 0.5 0.8 1.6 1.6 1.6 1.1 0.8

关于r - 数据帧的独立行的总和以递增的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30057081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com