Tengo este código de muestra para crear un nuevo marco de datos 'new_data' del marco de datos existente 'my_data'.Signo de dólar antes de una variable
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]))
}
}
El problema es que my_data$cond
(donde cond es una variable, y no el nombre de la columna) No se aceptan tarjetas.
¿Cómo puedo llamar a una columna de un marco de datos utilizando, después del signo de dólar, un valor de variable?
'' $ no sirve realmente para ser utilizado mediante programación. Está destinado a ser una conveniencia para el uso interactivo. Intenta usar 'mydata [i, cond]' en su lugar. Sin embargo, al mirar tu código, creo que podrías beneficiarte al mirar la función 'reshape', o incluso el paquete' reshape2' ... – James
Ten en cuenta que 'my_data' es un' dato.frame' y 'new_data' es una' matriz'. – GSee
Ver 'fortuna (312)'. –