在标准r中,我可以使用以下内容通过索引进行选择:
newdf <- df[1:4,]
但是,如果我在bigr.frame上尝试以上操作,我会得到:
Error: BigR[bigr.frame.[]]: The given filtering condition must be a logical bigr.vector.
[ {bigr}
的文档如下:
描述
过滤数据集的行和项目列
用法
&#34; [&#34;(x,i,j,...,drop = TRUE)
参数
x (bigr.frame或bigr.matrix)正在操作的对象。如果x是a bigr.frame或bigr.csv.matrix,过滤和投影都是 支持的。如果x是bigr.binary.matrix,则只有投影 支撑。
i (bigr.vector)表示过滤的逻辑操作 condition(仅适用于bigr.frame和bigr.matrix对象)
j (字符或整数)表示列的向量 预计。这些可以是列ID(即整数)或列名 (即字符)
drop 在投影单个列的情况下,参数drop确定 结果应该是bigr.vector(drop = TRUE)还是bigr.frame (降= 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])
如果我可以通过索引选择,我不清楚。这可能吗?怎么样?
答案 0 :(得分: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)
答案 1 :(得分:1)
您可以使用as.data.frame函数。
airfile&lt; - system.file(&#34; extdata&#34;,&#34; airline.zip&#34;,package =&#34; bigr&#34;)
airfile&lt; - unzip(airfile,exdir = tempdir())
airR&lt; - read.csv(airfile,stringsAsFactors = F)
air&lt; - as.bigr.frame(airR)
airdf&lt; - as.data.frame(air)
newdf&lt; - airdf [1:4,]
newdf