我有数据框A、B、C等,希望以相同的方式修改每个数据框,例如重新排序所有数据框中都存在的因子的水平:
A = data.frame( x=c('x','x','y','y','z','z') )
B = data.frame( x=c('x','y','z') )
C = data.frame( x=c('x','x','x','y','y','y','z','z','z') )
A$x = factor( A$x, levels=c('z','y','x') )
B$x = factor( B$x, levels=c('z','y','x') )
C$x = factor( C$x, levels=c('z','y','x') )
如果有许多数据框需要修改,或者要进行许多修改,这将变得很繁琐。如何使用循环或更好的方法来简洁地完成它?像下面这样的直接方法:
for ( D in list( A, B, C ) ) {
D$x = factor( D$x, levels=c('z','y','x') )
}
不起作用,因为它没有修改原数据框。
编辑:添加了A、B和C的定义以便复现。