【发布时间】:2015-07-21 01:32:27
【问题描述】:
Type Force
A 30
A 40
B 20
C 10
C 14
我有一个像上面这样的数据集,我从 CSV 导入,像这样。我正在将类型转换为因子。
Data <- read.csv(csvImport)
Data <- within(Data,
{
Type <- factor(as.character(Data[[Type]] )
})
但是,当我将其转换为数据矩阵以进行下游处理时,值会自动转换为整数,这是公平的。
x <- data.matrix(Data)
在我处理我的数据之后,有没有办法将其恢复为字符/字符串值,这样在进行最终打印时,我会返回 A,而不是 1,2 和 3, B和C?
或者换句话说,当我在导入过程中将其转换为一个因子时,是否无论如何都要为其赋值,类似于this..?
Type <- factor ( i++, labels=as.character(Data[[Type]])
这是我想要实现的一步一步
从 csv 导入的表的列中获取字符串列表
将字符串转换为因子并自动分配一个 int 作为 值,并将输入字符串作为该 int 的标签
如果这可以相对自动化,以便最终用户可以加载 csv 文件而无需手动分配标签,并且自动加载整数会很有帮助。
这有望让我处理数据框架本身中的数据,而不是将其转换为剥离我标签的数据矩阵。
编辑:
y <- rapply(Data,mean,classes="numeric")
似乎可以作为一种解决方法,因为我不必转换为数据矩阵。但是在 y 的结果输出中,我丢失了类型。那应该是可以修复的。仍然有兴趣知道这是否可以更优雅地完成。
【问题讨论】: