R语言数据类型转换未按预期生效,转换后查看仍为原类型
R变量类型转换未生效问题解决方案
核心原因
dplyr函数默认不修改内存中的原始数据集,运行mutate后控制台输出的只是临时计算结果,没有写入环境中的存储对象,你提到赋值给新数据集仍未生效,大概率是赋值操作的写法存在错误。
正确操作代码
方案1:覆盖原有数据集
Nov2020 <- Nov2020 %>% mutate(start_station_id = as.character(start_station_id), end_station_id = as.character(end_station_id))
方案2:存储为新的数据集
Nov2020_v2 <- Nov2020 %>% mutate(start_station_id = as.character(start_station_id), end_station_id = as.character(end_station_id))
运行以上代码后,再执行str(Nov2020)或str(Nov2020_v2)即可看到字段类型已转为字符型。
优化方案:导入时直接指定字段类型
可以在导入数据集阶段就指定对应字段的类型,省去后续转换步骤:
Nov2020 <- read_csv("202011-divvy-tripdata.csv", col_types = cols( start_station_id = col_character(), end_station_id = col_character() ))
内容的提问来源于stack exchange,提问作者Jiawei
相关产品推荐
相关产品推荐

