我再次请求您的支持!
我有一个数据框,其中显示了关于国家的不同指标,您可以在图片中看到它们。
我想将所有这些指数计算到一个新变量中,但是我不知道该怎么做。我尝试使用rowMeans()
函数,但是我可能是一个非常愚蠢的人,所以我在计算方面还没有成功。
mean()
无效-似乎“参数不是数字或逻辑:要返回的NA”。我还担心mean()
将整个列中的均值计算为一个向量,而不是根据需要按行计算。 再次-我需要从国家/地区变量中获取数据框中每个观察值的均值。
有人可以帮我完成这个非常简单的任务吗?
答案 0 :(得分:1)
我们可以将rowMeans
与startsWith
一起使用
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