我想将类型更改为名称与特定模式匹配的数据框中所有变量的因子。
所以在这里我试图将数据框df
中名称以 namestub 开头的所有变量的类型更改为因子。
attach(df)
sapply(grep(glob2rx("namestub*"), names(df)), as.factor)
但是这不起作用,因为
> levels(df$namestub1)
NULL
答案 0 :(得分:2)
## 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)