我有这个var s1 = "Blah"
var s2 = s1
s1 = "Bleh"
print(s1,s2) //Prints "Bleh Blah"
:
DF1
另外 cpf
702.464.462-18
067.282.769-71
017.811.255-03
806.392.831-87
074.256.613-73
080.405.147-03
:
DF2
我想格式化这些数字,因此 cpf
1: 6685540966
2: 1301301922
3: 80673503020
4: 13575505705
5: 36752823847
6: 1756061459
可以与DF2
相同,如下所示:
DF1
所以基本上我需要将它们转换为带有0的11位数字,并像这样指定标点符号。 有什么想法怎么做吗?
编辑:
使用 cpf
1: 066.855.409-66
2: 013.013.019-22
3: 806.735.030-20
4: 135.755.057-05
5: 367.528.238-47
6: 017.560.614-59
包装的str_pad
,我做到了:
stringr
它奏效了。但是我不知道如何设置标点符号。
答案 0 :(得分:0)
我们可以使用formatC
cpf <- c(6685540966, 1301301922, 80673503020, 13575505705, 36752823847, 1756061459)
formatC(x = cpf / 100,
digits = 2,
width = 12,
decimal.mark = "-",
big.mark = ".",
flag = "0",
format = "f")
#[1] "066.855.409-66"
#[2] "013.013.019-22"
#[3] "806.735.030-20"
#[4] "135.755.057-05"
#[5] "367.528.238-47"
#[6] "017.560.614-59"
答案 1 :(得分:0)
这可以通过使用format()(又称为pretty()函数)格式化数字,然后填充零来实现。
...像这样指定标点符号。
#Sample data
DF2<- c(6685540966, 1301301922, 80673503020, 13575505705, 36752823847, 1756061459)
DF3<-format(DF2/100, 11, digits=10, decimal.mark="-", big.mark=".")
[1] "66.855.409-66" "13.013.019-22" "806.735.030-20" "135.755.057-05" "367.528.238-47" "17.560.614-59"
我需要将它们转换为0的11位数字
这称为“前导零填充”。 str_pad()
中的stringr
与粘贴类似,可以清楚地表明您要填充数字。
library(stringr)
DF4<-str_pad(DF3, 14, pad = "0")
[1] "066.855.409-66" "013.013.019-22" "806.735.030-20" "135.755.057-05" "367.528.238-47" "017.560.614-59"