0

我想将类型更改为名称与特定模式匹配的数据框中所有变量的因子。

所以在这里我试图将类型更改为所有变量的因子,这些变量的名称以dataframe中的namestub 开头df

attach(df)    
sapply(grep(glob2rx("namestub*"), names(df)), as.factor)

但这不起作用,因为

> levels(df$namestub1)
NULL
4

1 回答 1

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)
于 2012-11-14T11:50:32.703 回答