【发布时间】:2023-04-10 08:36:01
【问题描述】:
我是 R 编程新手,从我之前创建的数据框中,我必须添加一个包含所有列的平均值的行,该行必须称为“平均”。需要注意的是,最后一列包含 NA 值。
到目前为止,我已经成功地为每一列和最后一列创建了具有平均值的新行,省略了 NA 值。我需要的是命名该行并将其设为“Average”,默认情况下它显示为 51,我不知道如何更改它,我已阅读有关函数 row.names () 等的信息,但我无法获得什么都出来了。
有人可以帮帮我吗?我将不胜感激
我把数据框留在这里(state.df):
state.df = as.data.frame(state.x77)
这就是我所做的:
apply = apply(state.df, MARGIN = 2, mean, na.rm = TRUE)
rbind(state.df,apply)
我也尝试过这个以及其他一些方法,但它对我不起作用。
rbind(state.df,apply, rownames(state.df, prefix = 'Average'))
总之,通过apply,我基本上已经有了我想要的东西,我只想更改执行rbind时出现的名称51并将其更改为'Average'
【问题讨论】:
-
完成
state.df = rbind(state.df,apply)后,您可以使用rownames(state.df)[nrow(state.df)] = "Average"更改最后一个行名 -
不适用
rbind( state.df, Average=colMeans(state.df) ) -
我不能做 'rbind( state.df, Average=colMeans(state.df) )' 因为我在 area 列上有 NA valors,我不能应用 na.rm = TRUE