快速记录数据帧

时间:2018-11-12 20:21:36

标签: r

我从大data.frame中获得了以下data.frame示例

df <- data.frame('V1'=c(0,0,0,2,2,2,1,1,1),'V2'= c(1,1,1,2,2,2,0,0,0))

我的问题是什么可以有效地应用于将每个0转换为00,每个1转换为01和每个2转换为{{1}在data.frame中。我知道我可以使用诸如apply function或for loop之类的方法,但不知道哪种方法会更快,更有效。

最好的问候。

1 个答案:

答案 0 :(得分:4)

我们可以使用package.json在左侧填充0,然后使用sprintfsub等将'02'更改为'22'。

replace

或者使用df[] <- lapply(df, function(x) sub("^02", "22", sprintf(fmt = '%02d', x))) ,然后使用strrep将'11'和'01'

replace