r - 如何使用更改类型的变量保存数据帧(csv 或其他)
问题描述
我将一个 csv 文件读入控制台,通过 str(data) 查看变量的类型,将一些变量更改为所需的类型(因子、整数、数字等),然后我想保存(写入)这个文件通过这些更改回到 PC - 这就是问题所在。
有什么办法可以通过这些更改保存文件???
#reading csv to console
mydata= read.csv("mydata.csv" , header = TRUE, sep = ",", dec = ".")
#looking at types
str(mydata)
#changing type of variable - first column calls variable1 and it is integer, I want factor
mydata$variable1 = as.factor(as.character(mydata$variable1))
#looking at types again, mydata$variable1 is factor right now
str(mydata)
#writing that file in PC, with changes
write.csv(mydata, file = "converted_mydata.csv", row.names=FALSE)
现在,当我阅读此 csv 时,没有任何变化 - mydata$variable1 再次是整数。
#reading csv to console
mydata_changed= read.csv("converted_mydata.csv" , header = TRUE, sep = ",", dec = ".")
提前致谢。
解决方案
当您明确指定因子标签时,您尝试完成的工作应该有效,例如:
mydata$variable1 = factor(mydata$variable1, labels = c("label1", "label2", ... ))
标签的数量和您使用的名称当然取决于变量“variable1”的性质。
请注意,这种方式数据类型因子不会存储在 csv 文件本身中,但该函数read.csv
会将其恢复为因子(这是因为默认情况下它将字符串值作为因子读取)。
推荐阅读
- python - pandas 中 df.reindex() 和 df.set_index() 方法的区别
- c# - 将“sout”保存到文件时,vlc.net“显示”冻结
- python - 计算pandas中列组合的总和,按行计算,输出文件具有所述组合的名称
- javascript - prerender-spa-plugin 在服务器上不起作用
- r - 使用 R 脚本打开(不导入)Excel 文件
- javascript - 按键总和所有节点
- php - 删除登录用户 PHP MySql
- pytorch - PyTorch:当使用backward()时,我怎样才能只保留图形的一部分?
- python - 来自列、DataFrame、pandas 的随机值组合
- javascript - 使用 React 重定向