我想将类型更改为名称与特定模式匹配的数据框中所有变量的因子。
所以在这里我试图将类型更改为所有变量的因子,这些变量的名称以dataframe中的namestub 开头df
。
attach(df)
sapply(grep(glob2rx("namestub*"), names(df)), as.factor)
但这不起作用,因为
> levels(df$namestub1)
NULL
## Make a reproducible example
df <- data.frame(namestubA = letters[1:5], B = letters[5:1],
namestubC = LETTERS[1:5], stringsAsFactors=FALSE)
## Get indices of columns to convert
ii <- grep(glob2rx("namestub*"), names(df))
## Convert and replace the indicated columns
df[ii] <- lapply(df[ii], as.factor)