Удобный способ определения списка как наблюдения в data.frame - PullRequest
0 голосов
/ 05 декабря 2018

Есть ли способ определения списка как наблюдения внутри цикла?Например, я мог бы просто запустить следующий код для замены каждого списка в качестве наблюдения всякий раз, когда другое наблюдение data.frame встречает определенное условие, как в коде ниже, но мне нужно создать lists как наборNULL lists перед запуском цикла.Кроме того, я не понял, как поместить list в строку, которая создает data.frame - есть ли способ сделать это?

Вот код:

#line that creates the data.frame: I wished to know how to place the list 
#(at the line after creating the data.frame object) inside the data.frame function.

df = data.frame(x=1:10)

#line that creates the list as NULL values before replacing them in the loop

df$y = list(c())

#random replacement condition 

df$z = c(0,0,1,0,1,0,1,0,0,0)

#Loop: could I create the list variable on the run without creating it before the loop?

for(i in 1:10) {

  if (df$z[i]==1) {

  df$y[i] = list(c("a","b"))  


  }

}

Если есть более современный уровень техники или рекомендуемый способ сделать это, следуя некоторому набору принципов (например, аккуратно), я был бы радесли бы кто-то мог сослаться на это.

1 Ответ

0 голосов
/ 05 декабря 2018

Я не уверен, почему вы хотите это сделать, но вы можете уменьшить свой код до

df <- data.frame(x = 1:10, z = c(0,0,1,0,1,0,1,0,0,0))
df$y <- ifelse(df$z == 1, list(c("a","b")), list())

, и это даст тот же результат.

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