我有这个示例代码来从现有数据框'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)'。 –