R语言在数据前面补0/补1的方法

备注

专门新开一篇文章讲这个函数主要是因为,现在网上搜索结果比较靠前的教程/帖子已经不适用于目前的R语言环境了,语法完全不一样,所以直接copy的话会报错

需求背景

分析留存数据时,数据库底表的字段是一个30位/两百位的字符串,比如0011111100000000000001,第一个0表示最近一天该用户没登陆,第三位的1表示3天前该用户登陆了,以此类推

底表的格式是字符串,但我下载格式是csv,csv自动把这个字段的格式改成数值型了(我也不知道为啥),所以我用R读取这个文件时,“0011111100000000000001“就变成了”11111100000000000001“,我需要在前面补0补满30位

解决方法

使用str_pad() 函数,该函数是用来把字符串填充为新的长度。

实例:
填充“0”到 game 中 active_200d 字段的左侧,并且填充到30个字符的新长度。

game$active_200d = as.character(game$active_200d)
str(game$active_200d)
game$active_200d = str_pad(game$active_200d, 30, side = "left", "0")

语法:
str_pad(string, length, side, pad_string)

• string

  • 必需
  • 规定要填充的字符串。

• length

  • 必需。
  • 规定新字符串的长度。
  • 如果该值小于原始字符串的长度,则不进行任何操作。

• side

  • 必选。
  • 填充的方向

• pad_string

  • 可选。
  • 规定供填充使用的字符串。默认是空白。
    原文作者:Yann_YU
    原文地址: https://blog.csdn.net/Yann_YU/article/details/107642862
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞