R что означает 2 запятых? - PullRequest
4 голосов
/ 24 ноября 2011

Я смотрю на пример пакета knnflex, и они устанавливают набор для обучения и тестирования, используя следующее:

train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])

У меня есть вопросы, чем они отличаются:

train <- rbind(iris3[1:25,1], iris3[1:25,2], iris3[1:25,3])
test <- rbind(iris3[26:50,1], iris3[26:50,2], iris3[26:50,3])

Ответы [ 3 ]

4 голосов
/ 24 ноября 2011

Две запятые означают, что было более двух измерений, и вы выбрали все элементы в измерении, которые могли быть указаны между двумя запятыми.Например, представьте куб вместо квадрата со всеми данными в нем.Вы можете выбрать строку, высоту и глубину.Если вы выберете [row ,, глубину], то вы выберете целый столбец в кубе в этой строке и глубине.Принцип такой же, что касается больших размеров, но его сложнее описать.

4 голосов
/ 24 ноября 2011

Почему бы тебе просто не попробовать?

> train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
> test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])
> train <- rbind(iris3[1:25,1], iris3[1:25,2], iris3[1:25,3])
Error in iris3[1:25, 1] : incorrect number of dimensions
> test <- rbind(iris3[26:50,1], iris3[26:50,2], iris3[26:50,3])
Error in iris3[26:50, 1] : incorrect number of dimensions

В целом, если индекс не указан, выбираются все записи для этого индекса:

> mtx<-matrix(c(1,2,3,4),nrow=2)
> mtx
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> mtx[1,]
[1] 1 3
> mtx[,1]
[1] 1 2
0 голосов
/ 06 мая 2017

Разница между iris и iris3, iris3 - трехмерная матрица, содержит те же данные, что и iris.Но это хранит это по-другому.Вы можете видеть ирис в виде двумерной матрицы. Проверьте ссылку ниже https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/iris.html

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