Мутировать символьный столбец после интерполяции - PullRequest
0 голосов
/ 25 июня 2018

У меня есть следующий вложенный список:

# Nested list
df <- list(
  list(
    x = seq(0,100, length.out = 1500),
    y = seq(0,500, length.out = 1500),
    z = sort(rep(letters[1:2], length.out = 1500))),
  list(
    x = seq(0,100, length.out = 1480),
    y = seq(0,500, length.out = 1480),
    z = sort(rep(letters[1:2], length.out = 1480)))
)

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

# Nested list
df <- list(
  list(
    x = seq(0,100, length.out = 1500),
    y = seq(0,500, length.out = 1500)),
  list(
    x = seq(0,100, length.out = 1500),
    y = seq(0,500, length.out = 1500))
)

Проблема в том, что после интерполяции я теряю значения символов z.Теперь я хочу mutate или cbind вернуть этого персонажа.Я могу легко сделать это для первого списка, так как он не изменил свою длину.Однако для второго списка мне нужно mutate моих персонажей a и b на основе значений x, которые у них были раньше.

Например, если a имел max x значение 48,5, мне нужно mutate a, чтобы быть в новом списке до 48,5.

Есть предложения?

PS: я не могу получитьz из первого списка и просто поместите во второй список, так как мой реальный список намного больше, чем этот, и все они отличаются.

EDIT

Моя интерполяция выполняется с помощью следующегофункция:

mylist <- df[[2]]
interp <- approxfun(mylist$x,mylist$y)(seq(0,100,length.out = 1500))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...