Для цикла данных в R - PullRequest
       17

Для цикла данных в R

1 голос
/ 07 марта 2019

Пример данных, которые я хочу получить:

data = data.frame(year=c(10,11,12,13,14),
lag=c(9,10,11,12,13),
lead=c(11,12,13,14,15))

Это цикл

for (year in c(10:14)){
 year
}

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

for (year in c(10:14)){
  year = x[i] = year ;
  lag = x[i+1] = year - 1;
  lead = x[i+2] = year + 1
}

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Надеюсь, это поможет


library(dplyr)
data_df <- data.frame(year=c(10,11,12,13,14))
data_df %>% mutate(lag_val= lag(year, n=1, default = year[1]-1),
                   lead_val= lead(year, n=1, default = year[nrow(data_df)]+1))
0 голосов
/ 07 марта 2019

Предполагая, что вы хотите применить неизвестную и нераскрываемую функцию к каждому году, скажем, f(x), вы можете добавить новые столбцы, используя dplyr следующим образом:

data = data%>%mutate(New_column_1= f(year),
                     New_column_2= f2(year),
                     etc ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...