【发布时间】:2011-12-06 11:45:00
【问题描述】:
我有一个包含三个变量和 250K 记录的数据框。作为一个例子考虑
df <- data.frame(V1=c(1,2,4), V2=c("a","a","b"), V3=c(2,3,1))
V1 V2 V3
1 a 2
2 a 3
4 b 1
并希望根据 V2 的值在 V1 和 V3 之间交换值,如下所示:
如果V2 == 'b' 那么V1 <- V3 和V3 <- V1
导致
V1 V2 V3
1 a 2
2 a 3
1 b 4
我尝试了一个 do 循环,但它需要很长时间。如果我使用 Perl,则需要几秒钟。我相信这项任务也可以在 R 中有效地完成。任何建议表示赞赏。
【问题讨论】:
-
我很好奇这种情况是怎么出现的,如果你不介意我问的话。我有一些使用至少设计用于处理调查数据的软件的经验,但是随着我们跟随与 IT 数据库集成的趋势,数据结构的问题已经开始出现,我需要开始有意识地思考如何我们将东西存储在表格中。这就是为什么我很好奇你的情况是如何出现的:)