也许这是一个废话,但我一直在玩粘贴和粘贴没有成功。
我的数据框如下所示
stck <-structure(list(haul = 1:11,
year = c(1983L, 1983L, 1983L, 1983L, 1983L, 1983L, 1983L, 1983L, 1983L, 1983L, 1983L)),
row.names = c(NA, 11L), class = "data.frame")
我试着生成这样的代码:N83_01, N83_02, ...., N83_10
也就是说,我想创建一个代码,粘贴年份的最后两个数字加上运输编号(以“两个数字”格式)。
到目前为止,我找不到粘贴“N”的方法。这是我所拥有的
stck$cod_lance <- as.factor(ifelse (stck$lance >=1 & stck$lance <10, paste(str_sub(stck$fecha, 3, 4), stck$lance, sep="_0"),
paste(str_sub(stck$fecha, 3, 4), stck$lance, sep="_")))
我怎样才能得到正确的输出?。提前感谢。
4条答案
按热度按时间pqwbnv8z1#
使用
paste0
以避免分隔符。将"N"
作为第一个参数传递,然后使用substr
或stck$year %% 100
传递stck$year
的最后两位数字。接下来是下划线,最后是运输编号。在使用sprintf
传递单个数字时,可以在运输编号前补零:6ojccjat2#
您还可以将所有内容与
sprintf
结合使用j9per5c43#
当然可以使用Allan's answer,但是为了完成现有代码,我们可以添加另一个 paste 作为前缀N:
7eumitmz4#
下面是使用
formatC
和一些tidyverse
帮助器的替代方法: