2016-11-11 5 views
1

может ли кто-нибудь любезно помочь мне с сообщением об ошибке ниже?R: вектор строки, поиск значений индексов меньше определенного числа

list <- c("apple","bee","cat","dog","egg","frog","goat","hippo","iguana") 

list[1:5] 
# [1] "apple" "bee" "cat" "dog" "egg" 

Однако

list[<5] 
# Error: unexpected '<' in "list[<" 

Спасибо.

+1

Что вы хотите 'список [<5]' сделать? – zwol

+0

Я думаю, что вам нужен 'list [seq_along (list) <5]' Поскольку вы ничего не указали на lhs '<', сообщение об ошибке появилось – akrun

+0

, вам, вероятно, не следует присваивать список имен атомным векторам как которые могут запутаться позже. – shayaa

ответ

1

Для подмножества «списка» нам нужен либо числовой индекс (в первом примере OP), либо логический индекс. Чтобы создать логический индекс, мы можем сравнить последовательность «List» элементов с индексом 5.

seq_along(list)<5 
#[1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE 

и с помощью этого индекса, мы можем получить элементы, которые соответствуют истинным значениям

list[seq_along(list)<5] 
#[1] "apple" "bee" "cat" "dog" 

Что касается сообщений об ошибке, если мы вводим

<5 

на консоли

Error: unexpected '<' in "<"

Таким образом, необходимо значение на LHS от <

+1

Большое спасибо за ваше четкое объяснение, – catmandoes

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