我有一个包含3个变量和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
Run Code Online (Sandbox Code Playgroud)
并希望基于V2的值V1和V3之间切换值如下:如果V2 == 'b'然后V1 <- V3和V3 <- V1
导致
V1 V2 V3
1 a 2
2 a 3
1 b 4
Run Code Online (Sandbox Code Playgroud)
我试过一个do循环,但它需要永远.如果我使用Perl,则需要几秒钟.我相信这项任务也可以在R中有效地完成.任何建议表示赞赏.