gpt4 book ai didi

r - 如何循环和修改R中的多个数据帧

转载 作者:行者123 更新时间:2023-12-05 00:27:53 27 4
gpt4 key购买 nike

我有数据框 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 的定义以使其可重现。

最佳答案

关于 R 需要注意的一件事是,关于 assignment , <-是可传递的,而 =不是。因此,如果您的数据框在这方面都相同,您应该能够执行以下操作:

A$x <- B$x <- C$x <- factor( C$x, levels=c('z','y','x') )

关于r - 如何循环和修改R中的多个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19738565/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com