2016-05-01 26 views
0

在标准的R,我可以使用类似以下的指数选择:如何通过bigr.frame中的索引进行选择?

newdf <- df[1:4,] 

但是,如果我尝试在bigr.frame上面,我得到:

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

的文档[ {bigr}如下:

说明

过滤行和数据集

用法

“[”(X,I,J,...,滴= TRUE)

参数

的项目列x(bigr.frame或bigr.matrix)被操作的对象。如果x是 bigr.frame或bigr.csv.matrix,则支持过滤和投影 。如果x是bigr.binary.matrix,则只支持投影 。

(bigr.vector),表示过滤 条件(仅用于bigr.frame和bigr.matrix对象)

Ĵ(字符或整数)表示的列向量的逻辑运算预计为 。这些可以是列ID(即,整数)或列名 (即,字符)在突出一个单个塔的情况下

,参数降确定 结果是否应该是一个bigr.vector(降= TRUE)或bigr.frame (drop = FALSE)。默认值是drop = TRUE。

派生bigr.frame,bigr.matrix,或bigr.vector

另请参见

bigr.frame bigr。矩阵

实例

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

我不清楚我是否可以按索引选择。这可能吗?怎么样?

回答

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 < - 执行。系统( “扩展数据”, “airline.zip”,包= “bigr”)

airfile < - 解压缩(airfile,exdir = TEMPDIR() )

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

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

airdf < - as.data.frame(空气)

newdf < - airdf [1:4,]

newdf

1

第一个参数期望逻辑条件,第二个参数表示列。

你正在寻找同样的功能可以通过头(帧,无#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

+0

感谢Nisanth,头会为一些使用情况下工作,但不是全部。您能否提供第一种方法的示例,例如选择airfile数据集的第3:4行? –

相关问题