我处理的大型数据集的单个ID被编码为五位数20234
。我们称之为DF$id.var
。数十年来,这些数据分散在数百个调查中,因此我一直在争吵(加载,合并,子集,过滤)数据。
我永远不会(永远!)希望此变量为class
numeric
,但是每次导入文件(.dta或.csv)时,R默认情况下会执行此操作。
用DF$id.var <-as.character(DF$id.var)
乱扔我的代码正在摧毁我的灵魂,必须有更好的方法。也许脚本或Rmarkdown文件开头的一行代码是?
类似于:
嘿,R!...任何时候看到任何称为id.var的东西,无论是数据帧中的列还是向量中的列,都必须对其进行as.character
分类。
答案 0 :(得分:3)
您可以使用read_delim()
包中的readr
系列函数来读取数据并包含参数col_types = cols(id.var = col_character())
,例如:
library(readr)
DF <- read_csv("example.csv", col_types = cols(id.var = col_character()))