Tengo 20 marcos de datos de los cuales me gustaría subconjuntar 4 variables en un nuevo marco de datos.
DF1 <- subset(Circle1.csv, select = c(col1, col2, col3, col4))
DF2 <- subset(Circle2.csv, select = c(col1, col2, col3, col4))
No quiero escribir esto 20 veces; ¿hay alguna manera de hacer esto?
Muchas gracias
2 respuestas
Usando el bucle for
nrows <- 1:4 # number of rows to subset
colNames <- c('col1', 'col2', 'col3', 'col4') # column names
# assign subset of dataframe
for (i in 1:20) {
assign(x = paste0('DF', i), value = get(paste0('Circle', i, '.csv'))[nrows, colNames])
}
Obtenga todos los objetos en un list
, y subset
una vez haciendo un bucle sobre el list
lst1 <- lapply(mget(sprintf("Circle%d.csv", 1:20)), subset,
select = c(col1, col2, col3, col4))
O con dplyr/purrr
library(purrr)
library(dplyr)
lst1 <- map(mget(sprintf("Circle%d.csv", 1:20)), ~ .x %>%
select(col1:col4))
Preguntas relacionadas
Nuevas preguntas
r
R es un entorno de software y lenguaje de programación de código abierto y gratuito para computación estadística, bioinformática, visualización y computación en general. Proporcione ejemplos mínimos y reproducibles junto con el resultado deseado. Use dput () para los datos y especifique todos los paquetes no base con llamadas a library (). No incruste imágenes para datos o código, use bloques de código con sangría en su lugar. Para preguntas relacionadas con estadísticas, use https://stats.stackexchange.com.