我想加入变量名称,这意味着我应该对它们做些什么。我想象一个数据框“调查”。
library(Rlab) # Needed for rbern() function.
survey <- data.frame(cbind(
id = seq(1:10),
likert_this = sample(seq(1:7),10, replace=T),
likert_that = sample(seq(1:7), 10, replace=T),
dim_bern_varx = rbern(10, 0.6),
disc_1 = sample(letters[1:5],10,replace=T)))
现在我想对包含 likert 的所有变量做一些事情,其他的变量包含 bern 等。
如何在R?
中完成答案 0 :(得分:15)
您可以将grep()
与colnames()
:
survey[,grep("bern", colnames(survey))]
答案 1 :(得分:3)
如果你有一系列你喜欢的名字,你也可以使用匹配。也许你经常需要变量“脉冲”,“运动”,“身高”,“体重”和“年龄”,但它们有时会出现在不同的地方或其他增加的变量。您可以保存常用名称的向量,然后将它们与数据帧匹配,并按照您想要的顺序使用新标准列的df。
basenames <- c("pulse", "exercise", "height", "weight", "age")
get.columns <- match(basenames, names(dataframe))
new.df <- dataframe[,get.columns]
答案 2 :(得分:2)
“运算符”包允许一些类似Perl的语法:
library(operators)
survey[, colnames(survey) %~% "bern"]
或
subset(survey, select = colnames(survey) %~% "bern")