我有一個大約50,000 X 200的數據框。列名是4種不同的類型,其末尾的數字範圍從1-50(store1,price1,time1,rate1,store2, price2,time2,rate2,...,store50,price50,time50,rate50)。我試圖根據每列的值創建虛擬變量,但是無法讓R處理循環內的列名。R處理for循環中的列名稱
store1 price1 time1 rate1 store2 price2 time2 rate2 ....
A 55.55 08:09 1.44 B 44.44 11:09 1.46
C 55.55 08:09 1.44 G 44.44 11:09 1.46
X 55.55 08:09 1.44 E 44.44 11:09 1.46
D 55.55 08:09 1.44 S 44.44 11:09 1.46
這是我迄今爲止嘗試過的,沒有運氣。
xform_data <- function(x) {
for(i in 1:50){
storeX <- (paste("store",i,sep=""))
storeX2 <- ifelse(storeX == "A", 1, 2)
x <- cbind(x, storeX2 )
}
x
}
有什麼建議嗎?
這樣做。非常感謝你! – screechOwl 2011-12-22 16:17:54
感謝命名的想法。這是我的下一個問題:) – screechOwl 2011-12-22 16:24:38
@screechOwl:不客氣。我很高興我的精神力量已經派上用場了;-) – NPE 2011-12-22 16:27:48