Цикл по переменным - PullRequest
       6

Цикл по переменным

0 голосов
/ 27 июня 2018

Я переехал из Stata, и у меня возникли проблемы с соответствием командам. Просто я хочу перебрать переменные в фрейме данных и манипулировать / анализировать, как показано в коде ниже. Есть ли способ, например, определить временную переменную (tmp) для переноса выбранной переменной внутри цикла и обращения непосредственно (например, dt $ tmp). Я ценю ваши комментарии.

Приведенный ниже код перебирает столбцы, чтобы получить имена переменных и метки кадра данных.

#Build the dataframe
dt <- data.frame(x=1:5,y=seq(1,10,2),z=seq(1,15,3))
attr(dt$x,'label') <- "First"
attr(dt$y,'label') <- "Second"
attr(dt$z,'label') <- "Third"


#loop over variables and store names and labels in a dataframe
names<- names(dt)
vars<- data.frame(id = 1:ncol(dt),var=NA,varlab =NA)
i <- 0
for(n in names){
  i <- i + 1
  nlab <- attr(dt[[paste(n)]], 'label')
  vars$var[i] <- n
  vars$varlab[i] <- nlab
}

Чтобы увидеть это:

id var varlab

1 х Первый
2 года Второй
3 z Третий

1 Ответ

0 голосов
/ 27 июня 2018

Трудно интерпретировать то, что вы пытаетесь достичь. Например, если tmp изначально не является столбцом в df, это не сработает, но нам трудно увидеть ваш экран. Если вам нужно определить tmp как новый столбец, вы должны cbind или dplyr :: mutate в новом столбце.

Если бы вы только набросали, как вы хотите, чтобы это выглядело, это тоже было бы полезно. Вы можете сделать все общее, просто помогите людям помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...