导出数据框作为因素
Export data frame as factors
R 的新手和第一个 post 在这里 - 这可能真的很明显,但我一定遗漏了一些东西。
在
时导入了一个具有二进制依赖项的 csv
purchase=read.csv("../Desktop/purchase.csv", stringsASfactors=TRUE)
现在我希望从 R 导出相同的数据框(在 .csv 中),但保留分类变量(最初是字符串)作为因子,有效地转换数据集。
我试过了
write.csv(purchase,'../Desktop/purchaseconverted.csv', stringsASfactors=TRUE)
但是写函数不支持stringsASfactors。
欢迎帮助!
使用factor()
函数,您可以直接将向量转换为分类变量。然后写入csv.
purchase <- data.frame(a,b,c)
purchase['a'] <- factor(a)
write.csv(purchase,'../Desktop/purchaseconverted.csv')
希望这对您有所帮助。
默认行为是将因子写入文件时将其视为字符串。在下面的例子中看到这个使用 iris
数据集,它包含一个因子列 Species
:
write.csv(head(iris))
# "","Sepal.Length","Sepal.Width","Petal.Length","Petal.Width","Species"
# "1",5.1,3.5,1.4,0.2,"setosa"
# "2",4.9,3,1.4,0.2,"setosa"
# "3",4.7,3.2,1.3,0.2,"setosa"
# "4",4.6,3.1,1.5,0.2,"setosa"
# "5",5,3.6,1.4,0.2,"setosa"
# "6",5.4,3.9,1.7,0.4,"setosa"
您可以通过将因子转换为数字来更改此设置,因此文件包含数值而不是因子变量的因子标签:
iris2 <- iris
iris2$Species <- as.numeric(iris2$Species)
> write.csv(head(iris2))
# "","Sepal.Length","Sepal.Width","Petal.Length","Petal.Width","Species"
# "1",5.1,3.5,1.4,0.2,1
# "2",4.9,3,1.4,0.2,1
# "3",4.7,3.2,1.3,0.2,1
# "4",4.6,3.1,1.5,0.2,1
# "5",5,3.6,1.4,0.2,1
# "6",5.4,3.9,1.7,0.4,1
通过这种方式,您可以将因子值而不是因子标签写入 CSV。
R 的新手和第一个 post 在这里 - 这可能真的很明显,但我一定遗漏了一些东西。
在
时导入了一个具有二进制依赖项的 csvpurchase=read.csv("../Desktop/purchase.csv", stringsASfactors=TRUE)
现在我希望从 R 导出相同的数据框(在 .csv 中),但保留分类变量(最初是字符串)作为因子,有效地转换数据集。
我试过了
write.csv(purchase,'../Desktop/purchaseconverted.csv', stringsASfactors=TRUE)
但是写函数不支持stringsASfactors。
欢迎帮助!
使用factor()
函数,您可以直接将向量转换为分类变量。然后写入csv.
purchase <- data.frame(a,b,c)
purchase['a'] <- factor(a)
write.csv(purchase,'../Desktop/purchaseconverted.csv')
希望这对您有所帮助。
默认行为是将因子写入文件时将其视为字符串。在下面的例子中看到这个使用 iris
数据集,它包含一个因子列 Species
:
write.csv(head(iris))
# "","Sepal.Length","Sepal.Width","Petal.Length","Petal.Width","Species"
# "1",5.1,3.5,1.4,0.2,"setosa"
# "2",4.9,3,1.4,0.2,"setosa"
# "3",4.7,3.2,1.3,0.2,"setosa"
# "4",4.6,3.1,1.5,0.2,"setosa"
# "5",5,3.6,1.4,0.2,"setosa"
# "6",5.4,3.9,1.7,0.4,"setosa"
您可以通过将因子转换为数字来更改此设置,因此文件包含数值而不是因子变量的因子标签:
iris2 <- iris
iris2$Species <- as.numeric(iris2$Species)
> write.csv(head(iris2))
# "","Sepal.Length","Sepal.Width","Petal.Length","Petal.Width","Species"
# "1",5.1,3.5,1.4,0.2,1
# "2",4.9,3,1.4,0.2,1
# "3",4.7,3.2,1.3,0.2,1
# "4",4.6,3.1,1.5,0.2,1
# "5",5,3.6,1.4,0.2,1
# "6",5.4,3.9,1.7,0.4,1
通过这种方式,您可以将因子值而不是因子标签写入 CSV。