如何计算R中行中数据框中的均值?

时间:2020-03-25 17:49:21

标签: r dataframe mean

我再次请求您的支持!

我有一个数据框,其中显示了关于国家的不同指标,您可以在图片here it is中看到它们。

我想将所有这些指数计算到一个新变量中,但是我不知道该怎么做。我尝试使用rowMeans()函数,但是我可能是一个非常愚蠢的人,所以我在计算方面还没有成功。

mean()无效-似乎“参数不是数字或逻辑:要返回的NA”。我还担心mean()将整个列中的均值计算为一个向量,而不是根据需要按行计算。 再次-我需要从国家/地区变量中获取数据框中每个观察值的均值。

有人可以帮我完成这个非常简单的任务吗?

2 个答案:

答案 0 :(得分:1)

我们可以将rowMeansstartsWith一起使用

rowMeans(dat[startsWith(colnames(dat), "nation")])

答案 1 :(得分:0)

dat <- data.frame(
  nation1 = c(0,3,5,3,5,4), nation2 = c(4,2,5,3,5,4),
  ethnicity1 = c(5,5,5,5,5,2), ethnicity2 = c(5,5,5,2,4,4)
)
rowMeans(dat[, grepl("^nation", colnames(dat))])
# [1] 2.0 2.5 5.0 3.0 5.0 4.0