Как выбрать по индексу из bigr.frame?

В стандартном r я могу выбрать по индексу, используя что-то вроде следующего:

newdf <- df[1:4,]

Однако, если я попробую вышеупомянутое на bigr.frame, я получу:

Error: BigR[bigr.frame.[]]: The given filtering condition must be a logical bigr.vector.

Документация для [ {bigr} как следует:

Описание

Фильтровать строки и столбцы проекта набора данных

использование

"["(x, i, j, ..., drop = TRUE)

аргументы

x (bigr.frame или bigr.matrix) объект, на котором выполняется операция. Если x - это bigr.frame или bigr.csv.matrix, поддерживаются как фильтрация, так и проекция. Если x - это bigr.binary.matrix, поддерживаются только проекции.

i (bigr.vector) логическая операция, которая представляет условие фильтрации (только для объектов bigr.frame и bigr.matrix)

j (символ или целое число) вектор, представляющий столбцы для проецирования. Это могут быть идентификаторы столбцов (т. Е. Целые числа) или имена столбцов (т. Е. Символы).

drop в случае проецирования одного столбца, параметр drop определяет, должен ли результат быть bigr.vector (drop=TRUE) или bigr.frame (drop=FALSE). Значением по умолчанию является drop=TRUE.

Значение

производное bigr.frame, bigr.matrix или bigr.vector

Смотрите также

bigr.frame bigr.matrix

Примеры

air[air$UniqueCarrier %in% c("UA", "HA"), c(1,2,3,5:9)]

air[, c("Origin", "Dest")]

air[air$Dest == "SFO", 17]

class(air[, 17, drop=FALSE])

class(air[, 17, drop=TRUE])

Мне не ясно, могу ли я выбрать по индексу. Это возможно? Как?

2 ответа

Решение

Вы можете использовать функцию as.data.frame.

См. https://www.ibm.com/support/knowledgecenter/SSPT3X_4.0.0/com.ibm.swg.im.infosphere.biginsights.bigr.doc/doc/frame_as.data.frame.html?lang=en

airfile <- system.file ("extdata", "aviation.zip", package = "bigr")

airfile <- разархивировать (airfile, exdir = tempdir ())

airR <- read.csv (airfile, stringsAsFactors = F)

air <- as.bigr.frame (airR)

airdf <- as.data.frame (air)

newdf <- airdf [1: 4,]

newdf

Первый параметр ожидает логическое условие, а второй аргумент представляет столбцы.

Та же самая функциональность, которую вы ищете, может быть выполнена головой (frame, no#OfRows)

airfile <- system.file("extdata", "airline.zip", package="bigr")
airfile <- unzip(airfile, exdir = tempdir())
airR <- read.csv(airfile, stringsAsFactors=F)
air <- as.bigr.frame(airR)
head(air, 4)

См. https://www.ibm.com/support/knowledgecenter/SSPT3X_4.0.0/com.ibm.swg.im.infosphere.biginsights.tut.doc/doc/tut_Less_BigR_Stat2.html

Другие вопросы по тегам