R读取xlsx数据以及读取所得数据框数据的转化
最近R读取xlsx格式数据文件为dataframe之后转化成矩阵数据进行处理得到dataframe,之后将dataframe数据转化为矩阵数据时多次错误,原因在与dataframe中数据是factor还是character,
解决问题如下:假设下表为没有表头的 text.xlsx 数据
A | 1.00 | 1.1 | 1.11 | 1.111 |
B | 2.00 | 2.2 | 2.22 | 2.222 |
C | 3.00 | 3.3 | 3.33 | 3.333 |
D | 4.00 | 4.4 | 4.44 | 4.444 |
E | 5.00 | 5.5 | 5.55 | 5.555 |
1:直接用data = read.xlsx2("H:/test.xlsx",as.data.frame=TRUE,header=FALSE,1), 读取得到的dataframe中元素格式是factor的形式
test1 = read.xlsx2("H:/test.xlsx",as.data.frame=TRUE,header=FALSE,1)
test1
class(test1[2,2])
2: test2 = read.xlsx2("H:/test.xlsx",as.data.frame=TRUE,stringsAsFactors=FALSE,header=FALSE,1)
test2
class(test2[2,2])
可以看到加上stringsAsFactors=FALSE之后数据框中的数据格式转化为了character
3:最后一般习惯性的转化为数据矩阵的形式进行后续的处理分析, 在最后一步的数据转化过程中不同的方法针对factor以及character数据的处理不一致,
这里采用unlist()函数的形式,针对上面数据框数据结果一样