如何对 R 中的列组执行函数
How to perform functions on groups of columns in R
我想计算数据集中列组的行均值。我的列名称指定为 B1、B2、B3 等和 C1、C2、C3 等。我有很多列,因此想找到代码,而不必指定我想包含在分析。例如,我的目标是计算所有 "B" 列的平均值,然后计算所有 "C" 列的平均值,等等。这有捷径吗?
我当前数据框 I9 的代码是:
I9$meanB <- rowMeans(I9[c("B1","B2","B3","B4","B5")],na.rm=真)
I9$meanC <- rowMeans(I9[c("C1", "C2", "C3", "C4", "C5")], na.rm=真的)
依此类推所有列。代码正在运行...只是很耗时。
有什么方法可以让我告诉 R 计算所有 B 列的平均值,而不必写出所有确切的名称?
谢谢
名称中包含萼片的所有列的平均值:
基础包:
df <- iris[, grepl("Sepal", names(iris))]
df$means <- rowMeans(df)
输出,head(df)
:
Sepal.Length Sepal.Width means
1 5.1 3.5 4.30
2 4.9 3.0 3.95
3 4.7 3.2 3.95
4 4.6 3.1 3.85
5 5.0 3.6 4.30
6 5.4 3.9 4.65
我想计算数据集中列组的行均值。我的列名称指定为 B1、B2、B3 等和 C1、C2、C3 等。我有很多列,因此想找到代码,而不必指定我想包含在分析。例如,我的目标是计算所有 "B" 列的平均值,然后计算所有 "C" 列的平均值,等等。这有捷径吗?
我当前数据框 I9 的代码是:
I9$meanB <- rowMeans(I9[c("B1","B2","B3","B4","B5")],na.rm=真) I9$meanC <- rowMeans(I9[c("C1", "C2", "C3", "C4", "C5")], na.rm=真的) 依此类推所有列。代码正在运行...只是很耗时。
有什么方法可以让我告诉 R 计算所有 B 列的平均值,而不必写出所有确切的名称? 谢谢
名称中包含萼片的所有列的平均值:
基础包:
df <- iris[, grepl("Sepal", names(iris))]
df$means <- rowMeans(df)
输出,head(df)
:
Sepal.Length Sepal.Width means
1 5.1 3.5 4.30
2 4.9 3.0 3.95
3 4.7 3.2 3.95
4 4.6 3.1 3.85
5 5.0 3.6 4.30
6 5.4 3.9 4.65