2015-08-15 93 views
2

我做一個數據幀sapply返回字符代替因素

x<-data.frame(replicate(7,sample(0:100,20,rep=TRUE))) 
time<-rep(c("A", "B", "C", "D"), times=5) 
id<-rep(c("WT", "KO"), each=10) 
df<-cbind(id, time,x, stringsAsFactors = FALSE) 

我想,讓一切數字,以規模的數據的熱圖,但sapply返回ID和時間字符,而不是因素。

sapply(df, class) 

    id   time   X1   X2   X3   X4   X5   
"character" "character" "integer" "integer" "integer" "integer" "integer" 

    X6   X7 
"integer" "integer" 

我不知道現在該做什麼,有人可以幫我嗎?謝謝

+0

你想如何將一個字符轉換爲數字? –

+1

嘗試'data.frame(id,time,x)' – akrun

回答

1

您可以撥打data.frame而不是cbind,以獲得'id'和'time'爲factor列,因爲默認選項是stringsAsFactors=TRUE

df <- data.frame(id, time, x) 
sapply(df, class) 
# id  time  X1  X2  X3  X4  X5  X6 
#"factor" "factor" "integer" "integer" "integer" "integer" "integer" "integer" 
# X7 
#"integer"