【发布时间】:2016-02-12 09:13:51
【问题描述】:
我有一个数据框 df,其中包含 a 和 b 列,如果值的长度大于 3,我想在列之间交换值
输入:
a b
1 23
2 44
3 43324
4 76
预期输出:
a b
1 23
2 44
43324 3
4 76
我在想类似下面的东西:
df <- transform(df, df$a = ifelse(length(df$b) > 3, a, b), df$a = ifelse(length(df$b) > 3, b, a))
但这不起作用,我知道我必须使用df[length(df$a)] 之类的东西,但我无法弄清楚。
P.S: 好奇的小伙伴,输入基本就是通话报告,有时候在输入数据的时候,会调换手机号(10位)和身份证号(4位)。
【问题讨论】: