欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-01-17 09:10:22
备注专门新开一篇文章讲这个函数主要是因为,现在网上搜索结果比较靠前的教程/帖子已经不适用于目前的R语言环境了,语法完全不一样,所以直接copy的话会报错需求背景分析留存数据时,数据库底表的字段是一个30位/两百位的字符串,比如0011111100000000000001,第一个0表示最近一天该用户没登陆,第三位的1表示3天前该用户登陆了,以此类推底表的格式是字符串,但我下载格式是csv,csv自动把这个字段的格式改成数值型了(我也不知道为啥),所以我用R读取这个文件时,“00111111000000...

备注

专门新开一篇文章讲这个函数主要是因为,现在网上搜索结果比较靠前的教程/帖子已经不适用于目前的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

  • 可选。
  • 规定供填充使用的字符串。默认是空白。

本文地址:https://blog.csdn.net/Yann_YU/article/details/107642862