【发布时间】:2016-05-18 19:05:51
【问题描述】:
我有一个数据框
df=data.frame(f=c('a','ab','abc'),v=1:3)
并使用以下内容创建一个新列:
df$c=paste(df$v,df$f,sep='')
结果是
> df
f v c
1 a 1 1a
2 ab 2 2ab
3 abc 3 3abc
我希望 c 列采用这种格式:
> df
f v c
1 a 1 1 a
2 ab 2 2 ab
3 abc 3 3abc
这样连接值的总长度是一个固定数字(在本例中为 4 个字符),并且填充它将选择一个字符,例如 | (在本例中为 \w)。
R中有这样的函数吗?我认为它类似于 python 中的 z.fill 函数,但我不是 python 程序员,更愿意留在 R 中而不是在语言之间切换进行处理。最终,我正在创建一个 10 列的超变量,并认为这将有助于下游处理
我猜它会在粘贴函数中,但不确定如何“填充因子”使其具有固定宽度
【问题讨论】:
-
试试
sprintf("%d%3s",df$v,df$f)