R:使用as.numeric(as.character)将因子转换为多行的数字(

时间:2014-05-05 17:56:42

标签: r character numeric r-factor

as.character适用于单个元素但它返回多个元素的级别

> ImpDat <- read.table("C:/Users/Jeremy/Desktop/ElectronicsFinal/data_originalFull_Modified.csv",
                       header=TRUE, sep=",", na.strings="NA", 
                       dec=".", strip.white=TRUE)

> as.character(ImpDat[2,3:3])
[1] "40000000"
> as.character(ImpDat[2,2:3])
[1] "2" "8"

我想我可以使用lapply并将整个数据集转换为数字类型...但只是想知道是否有一种方法可以连续获取某些元素并将所有元素同时转换为数字类型。

1 个答案:

答案 0 :(得分:1)

问题是您在第二个示例中跨列(非行)进行选择。返回data.frame而不是factor。而as.character在因子和data.frames上的工作方式不同。最容易修复的可能就是。

as.character(as.matrix(ImpDat[2,2:3])

as.character()实际上只是将矩阵转换为向量。如果矩阵适合您,您可能不需要该呼叫。