我有這個示例代碼來從現有數據框'my_data'創建一個新的數據框'new_data'。變量前面的美元符號
new_data = NULL
n = 10 #this number correspond to the number of rows in my_data
conditions = c("Bas_A", "Bas_T", "Oper_A", "Oper_T") # the vector characters correspond to the target column names in my_data
for (cond in conditions){
for (i in 1:n){
new_data <- rbind(new_data, c(cond, my_data$cond[i]))
}
}
的問題是,my_data$cond
(其中cond是一個變量,而不是列名)是不能接受的。
如何通過在美元符號後使用變量值來調用數據框的列?
'$'並不真正用於編程式使用。它意味着交互式使用的便利。嘗試使用'mydata [i,cond]'來代替。然而,看着你的代碼,我認爲你可能從'reshape'函數或'reshape2'軟件包中獲益...... – James
請注意'my_data'是一個數據。frame'和'new_data'是一個'矩陣'。 – GSee
參見'幸運(312)'。 –