我有这段示例代码,用于从现有数据帧 '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
包。 - Jamesmy_data
是一个data.frame
,而new_data
是一个matrix
。 - GSee