R语言 用可变分隔符合并列

vyswwuz2  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(99)

我需要将数据框架中的两个数值列合并为一个新列,用0作为分隔符。然而,0的数量取决于第二列中的位数。所以,我想要的是这样的东西

x     y     new 
1    12345    1    12345001
2    12345    15   12345015
3    12345    145  12345145

在R中正确的代码是什么?
谢谢!
我敢肯定这可能是一些粘贴与分隔符和if else语句的组合,但我是一个新手,不能弄清楚!

plupiseo

plupiseo1#

您可以通过使用R的paste0函数来实现这一点。

df <- data.frame(x = c(12345, 12345, 12345),
                 y = c(1, 15, 145))

num_zeros <- nchar(max(df$y)) - nchar(df$y)

df$new <- paste0(df$x, replicate(num_zeros, "0"), df$y)

print(df)

如果你运行这段代码,你会得到想要的结果:

x   y       new
1 12345   1 123450001
2 12345  15 123450015
3 12345 145 123450145

相关问题