2016-05-22 6 views
2

Ok, поэтому я стараюсь делать самые основные операции, но это кажется довольно сложным с R.Итерация через список R

Что я хотел бы добиться того, чтобы перебирать список.

Чтобы Acces особого значения в этом списке, мне просто нужно написать:

list.data$V10.csv$Value[2] 

Я хотел бы заменить V по переменному, так что я могу использовать цикл.

Ниже то, что я пытаюсь до сих пор:

k <- 10 
test0 <- paste0("V",k) 
test1 <- as.numeric(paste0("V", k)) 

Что теоретически позволит мне получить доступ к такой же значение, как и раньше, написав:

list.data$test0.csv$Value[2] 
// Or 
list.data$test1.csv$Value[2] 

И использовать цикл, только изменив значение от k.

Но это не работает. Как мне это сделать?

Заранее благодарен!

ответ

3

Лучше использовать [[ для передачи имен объектов для извлечения элемента из list.

test0 <- paste0("V",k, ".csv") 
list.data[[test0]]$Value[2] 
+0

Ницца, спасибо большое! Не могли бы вы объяснить '[[]]' vs '$'? –

+1

@JustineVandendorpe Согласно '?" [["' 'Оба [[и $] выбирают один элемент списка. Основное различие заключается в том, что $ не позволяет вычислять индексы, тогда как [[делает ' – akrun

Смежные вопросы