首页 > 解决方案 > 如何使用更改类型的变量保存数据帧(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 = ".")

提前致谢。

标签: rdataframe

解决方案


当您明确指定因子标签时,您尝试完成的工作应该有效,例如:

mydata$variable1 = factor(mydata$variable1, labels = c("label1", "label2", ... ))

标签的数量和您使用的名称当然取决于变量“variable1”的性质。

请注意,这种方式数据类型因子不会存储在 csv 文件本身中,但该函数read.csv会将其恢复为因子(这是因为默认情况下它将字符串值作为因子读取)。


推荐阅读