2014-05-05 39 views
1

as.character作品單個元素,但它返回級別的多個元素R:因子轉化爲使用as.numeric在多行數值(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和將整個數據集轉換爲數字類型...但只是想知道是否有辦法將一行中的某些元素同時轉換並同時將其全部轉換爲鍵入數字

+0

也許嘗試stringsAsFactors = FALSE在調用read.table。這應該可以解決你的問題。 – pdb

回答

1

問題是,您正在跨列NOT rows),這會返回一個data.frame而不是一個因子,而as.character對因子的作用是不同的s和data.frames。最簡單的解決辦法可能是。

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

as.character()真的只是在那裏將矩陣轉換爲向量。如果一個矩陣會爲你工作,你可能不需要這個電話。