Создание столбца в R с использованием других данных столбца в функции - PullRequest
0 голосов
/ 16 марта 2020

У меня есть датафрейм в r, df. I sh, чтобы взять 2 столбца df (один из которых является задержкой в ​​1 период другого) и создать новый столбец на основе указанных значений. Правила должны быть:

  1. Где col_lag [i] == NA, newcol [i] <- col [i] </p>

  2. Любая строка, в которой col [i] == col_lag [i], newcol [i] <- 2 </p>

  3. Любая строка, в которой col! = Col_lag, newcol [i] <- col [i ] </p>

Он продолжает возвращать одно значение вместо нового столбца

col <- c(1,1,1,3,3,1,1,3,1,1)
col_lag <- c(NA,1,1,1,3,3,1,1,3,1)
df <- data.frame(col, col_lag)
func <- function (x,y) {
  for (i in range(1:length(df)){
    if (is.na(y[i])){
      x[i]
    }
    else{
      if (identical(x[i], y[i])) {
        2
      }
      else {
        x[i]
      }
    }
    return(temp)
  }
}

df$newcol <- func(df$col, df$col_lag)

В этом примере я хочу, чтобы newcol был c (1,2,2 , 3,2,1,2,3,1,2)

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