在df行中追加值

New*_*bie 3 r append dataframe

我在dataframe(df)中有一个列,我想要追加值(不是常量,而是变量).一个例子将使它更清楚:

> df
     geneID Sample.290
1         1  0.4018499
2        10  0.2694255
3       100  1.4441846
4      1000 13.7652753
5     10000  2.1552100
6 100008586  0.2358481
Run Code Online (Sandbox Code Playgroud)

我想追加字符"ENSG"和多个"000",这样每个值的总长度将为15(包括ENSG).例如,输出应该是:

         geneID           Sample.290
1        ENSG00000000001  0.4018499
2        ENSG00000000010  0.2694255
3        ENSG00000000100  1.4441846
4        ENSG00000001000 13.7652753
5        ENSG00000010000  2.1552100
6        ENSG00100008586  0.2358481
Run Code Online (Sandbox Code Playgroud)

Sot*_*tos 5

使用str_pad来自stringr,

library(stringr)
df$geneID <- paste0('ENSG', str_pad(df$geneID, width = 11, pad = '0'))
df
#           geneID Sample.290
#1 ENSG00000000001  0.4018499
#2 ENSG00000000010  0.2694255
#3 ENSG00000000100  1.4441846
#4 ENSG00000001000 13.7652753
#5 ENSG00000010000  2.1552100
#6 ENSG00100008586  0.2358481
Run Code Online (Sandbox Code Playgroud)