首页 > 解决方案 > R用一个值/字符串连接数据框中的列

问题描述

我正在尝试将 df 列中的一些数据与“0000”连接起来

我尝试在循环中使用 paste() ,但它变得非常沉重,因为我有 +2.000.000 行。因此,它需要永远。

有没有一种聪明、性能较低的方法来做到这一点?

#DF:
CUSTID    VALUE
103       12
104       10
105       15
106       12
...       ...

#Desired result:
#DF:
CUSTID    VALUE
0000103   12
0000104   10
0000105   15
0000106   12
...       ...

如何做到这一点?

标签: rconcatenationpaste

解决方案


paste 是矢量化的,因此它可以使用值向量(即数据框中的列。以下应该可以工作:

DF <- data.frame(
  CUSTID = 103:107,
  VALUE = 13:17
)

DF$CUSTID <- paste0('0000', DF$CUSTID)

应该给你

   CUSTID VALUE
1 0000103    13
2 0000104    14
3 0000105    15
4 0000106    16
5 0000107    17

推荐阅读