Как извлечь целые числа в R вектора? - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь извлечь указанный c индекс в векторе, и я получаю странный вывод. Я использую R-Studio, и она прекрасно работает со строковыми векторами, но я получаю странные числа с буквой "L" после них, когда я вводю целые числа. То же самое происходит, когда я определяю all_numbers, используя c(), : и seq(). Я что-то делаю неправильно? Я думал, что делаю это именно так, как в моем учебнике.

# Extracts "Anne" correctly
all_names <- c("Sally", "Pedro", "Anne", "Molly")
extract <- all_names [3]

# Extracts "3L" not 3
all_numbers <- 1:30
extract <- all_numbers[3]

# Extracts "7L" not 7
all_numbers <- 5:30
extract <- all_numbers[3]

# Extracts "12L" not 12
all_numbers <- 10:30
extract <- all_numbers[3]

1 Ответ

2 голосов
/ 15 апреля 2020

L - это способ, которым R представляет целые числа.

class(1L)
#[1] "integer"

class(1)
#[1] "numeric"

В R индексирование начинается с 1. Поэтому all_numbers[3] во 2-м и 3-м случаях должно быть 7 и 12 соответственно.

В данный момент я не могу найти соответствующий документ, но, если я правильно помню, целое число занимает меньше места, чем класс числительных c.

Если вы не хотите, чтобы L в выходных данных конвертировал all_numbers в числительный c класс.

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