Как понять квадратные скобки и запятую в r фрейме данных - PullRequest
0 голосов
/ 02 июля 2019

Я следую бумажному примеру, в котором фрейм данных leukemia.train содержит 38 obs и 7130 переменных. Насколько я понимаю синтаксис, y1 будет той частью лейкемии.train, которая соответствует столбцу [2]. Когда я печатаю y1, я получаю значения, которые соответствуют столбцу 7130. Почему? Я чего-то не понимаю ...

y1 <- leukemia.train[, dim(leukemia.train)[2]] 
> y1
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1

1 Ответ

0 голосов
/ 02 июля 2019

dim(x) - это вектор с размерами x, то есть номера его строк и столбцов (для двумерной матрицы / data.frame).

В случае leukemia.train вектор измерения будет выглядеть так:

[1] 38 7130

Далее вы берете второй элемент: dim(leukemia.train)[2] и используете его для подмножества всей матрицы.

Ваше утверждение, таким образом, эквивалентно:

y1 <- leukemia.train[, 7130] 

Еще одна небольшая, но важная деталь: после назначения y1 будет не «быть частью» исходной матрицы. Вместо этого это копия части матрицы, которую вы поднастраиваете (т.е. ее 7130-й столбец).

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