Как выбрать по индексу из 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.
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)