gpt4 book ai didi

r - 将行添加到数据框,同时维护每列的类

转载 作者:行者123 更新时间:2023-12-02 03:38:17 25 4
gpt4 key购买 nike

我想向显示列总计的数据框添加一行。

test = data.frame('name' = c('a','b','c'),'x' = c(1,2,3),'y' = c(1,2,3))
class(test[,2])
[1] "numeric"

test = rbind(test,c('Total',apply(test[,-1],2,sum)))
name x y
1 a 1 1
2 b 2 2
3 c 3 3
4 Total 6 6

class(test[,2])
[1] "character"

我需要数字列保持数字。我知道发生这种情况是因为我要添加的混合向量实际上是一个字符向量。解决这个问题的好方法是什么?我尝试将 rbind 与列表一起使用,但它不适用于 apply 函数。

提前致谢

最佳答案

您需要该行是一个具有适当名称的三元素列表。此外,您的第一列是一个因子向量,因此您要么需要处理它,要么不将其作为一个因子:

test = data.frame('name' = c('a','b','c'),
'x' = c(1,2,3),
'y' = c(1,2,3),
stringsAsFactors=FALSE)
test = rbind(test,c(name='Total',as.list(apply(test[,-1],2,sum))))

关于r - 将行添加到数据框,同时维护每列的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21901842/

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