0

在标准 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(字符或整数)表示要投影的列的向量。这些可以是列 ID(即整数)或列名(即字符)

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])

我不清楚我是否可以按索引选择。这可能吗?如何?

4

2 回答 2

1

您可以使用 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", "airline.zip", package="bigr")

airfile <- unzip(airfile, exdir = tempdir())

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

空气 <- as.bigr.frame(airR)

airdf <- as.data.frame(air)

newdf <- airdf[1:4,]

新的

于 2016-05-06T05:22:05.957 回答
1

第一个参数需要逻辑条件,第二个参数代表列。

您正在寻找的相同功能可以通过 head(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

于 2016-05-05T05:15:41.857 回答