WedX - журнал о программировании и компьютерных науках

переименовать несколько наборов данных после применения функции в R

Я пытаюсь применить функцию к разным фреймам данных. После этого я хочу получить результирующий кадр данных и сохранить их, сохранив их исходные имена и добавив что-то еще, чтобы различать новые кадры данных.

Это то, что я пробовал, что, очевидно, не работает.

#Creating dummi data
N <- 8 
df1 <- data.frame(x1 = rnorm(N), x2 = sample(1:10, size = N, replace = TRUE), x3 = 1*(runif(n = N) < .75))
df2 <- data.frame(y1 = rnorm(N), y2 = sample(100:200, size = N, replace = TRUE), y3 = runif(N))
df3 <- data.frame(z1 =rnorm(N), z2 = sample(8:80, size = N,replace = TRUE), Z3 = runif(N))

# Making a list of the three data frames
mydata <- list(df1=df1, df2=df2, df3= df3)     

#Applying a function to mydata list
mydata2 <-  lapply(mydata, function(x) mean(unlist(x))) 

# Renaming each dataset
n <- 1:length(mydata2)
noms <- names(mydata2)
for (i in 1:n){
mynewlist <- lapply(mydata2, function(x) {names(x) <-("_mean", sep ="");
return(x))}

Пожалуйста, любая помощь будет глубоко оценена.

r
15.01.2016

  • Вам нужно colMeans ? вместо mean или это `lapply(mydata, function(x) mean(unlist(x))) 15.01.2016
  • да, вы были правы, это было mydata2 <- lapply(mydata, function(x) mean(unlist(x))) я только что отредактировал вопрос 15.01.2016
  • В этом случае для каждого набора данных существует только один элемент. Каков ожидаемый результат? 15.01.2016
  • Возможно list2env(setNames(mydata2, paste0(names(mydata2), "_mean")), envir=.GlobalEnv), а затем проверьте df1_mean 15.01.2016
  • Для этого случая у меня есть один элемент, но я также применяю другие функции, где я получаю кадры данных. Результатом, который я ожидаю, является новый кадр данных, который я хочу сохранить, сохранив его старое имя и добавив что-то еще, чтобы отличать его. Что-то вроде df1_newname 15.01.2016
  • list2env даст результат, который вы ожидали (df1_mean, df2_mean) или то, что вы используете в функции paste. 15.01.2016
  • Спасибо, это работает хорошо! Я не знал list2env 15.01.2016

Ответы:


1

Мы можем использовать list2env, если нам нужно создать несколько объектов в глобальной среде (хотя это не рекомендуется, так как большинство операций можно выполнить внутри самого list).

Мы меняем names в list, paste добавляя подстроку суффикса, а затем используем list2env

list2env(setNames(mydata2, paste0(names(mydata2), 
                        "_newname")), envir=.GlobalEnv)
15.01.2016
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]