Это потребует корректировки в зависимости от имеющегося у вас фрейма данных (например, если у вас есть больше столбцов), но работает так же, как для вашего примера:
cbind(df[,1:3], df[,4:6][colMeans(df[,4:6]) > 0.1])
Однако, используя grepl
, вы можете автоматизировать выбор столбцов, начинающихся с "x", для однострочного базового R :
cbind(df[,!grepl("x", colnames(df))], df[,grepl("x", colnames(df))][colMeans(df[,grepl("x", colnames(df))]) > 0.1])
Анатомия этого сценария: Это говорит о том, что он объединяет столбцы (cbind
), которые не начинаются с "x" (df[,!grepl("x", colnames(df))]
), и те, которые начинаются с "x", где среднее значение столбца превышает 0,1 (df[,grepl("x", colnames(df))][colMeans(df[,grepl("x", colnames(df))]) > 0.1]
).