我需要将数据框架中的两个数值列合并为一个新列,用0作为分隔符。然而,0的数量取决于第二列中的位数。所以,我想要的是这样的东西
x y new 1 12345 1 12345001 2 12345 15 12345015 3 12345 145 12345145
在R中正确的代码是什么?谢谢!我敢肯定这可能是一些粘贴与分隔符和if else语句的组合,但我是一个新手,不能弄清楚!
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
1条答案
按热度按时间plupiseo1#
您可以通过使用R的paste0函数来实现这一点。
如果你运行这段代码,你会得到想要的结果: