2013-07-31 20 views
2

我有data.frame,看起來像這樣:數字作爲因素read.delim後

DF  
A  B  C  D  
1  2  3  4 
E  F  G  H  
5  6  7  8  

我想用以下字符串,子集只有數字部分:

sub_num = DF[sapply(DF, is.numeric)] 

問題是,使用read.delim讀取data.frame後,數字是因素。 如果我設置stringsAsFactor = F的數字是字符。 可能這是一個愚蠢的和基本的問題,但我無法解決它。

誰能幫助我嗎?

+0

先使用as.character –

回答

2

試試下面的不是

sub_num <- DF[!is.na(as.numeric(sapply(DF, as.character)))[1:ncol(DF)], ] 
#  V1 V2 V3 V4 
# 2 1 2 3 4 
# 4 5 6 7 8 


至於你sapply聲明,sapply(DF, is.numeric),爲了正常工作,那就需要as.character

sapply(DF, function(X) is.numeric(as.character(X))) 

但不會指數你所期望的DF你的DF