按索引分割数据帧和呼叫子帧行

时间:2018-08-15 08:13:55

标签: r dataframe indexing split

这是一个非常基本的R编程问题,但是我在任何地方都找不到答案,非常感谢您的帮助:

我将我的大型数据帧分成23个长度为4行的子帧,如下所示:

DataframeSplits <- split(Dataframe,rep(1:23,each=4))

说我想呼叫第二个子帧:

DataframeSplits[2]

但是如果我想调用该子帧的特定行(使用索引位置)怎么办?

我希望有这样的东西(比如我称第二子帧的第二行):

DataframeSplits[2][2,]

但这不适用于错误消息

  

Error in DataframeSplits[2][2, ] : incorrect number of dimensions

1 个答案:

答案 0 :(得分:1)

如果要对list返回的split进行子集并将其用于以后的子设置,则必须使用双括号来获得sub-data.frame。然后,您可以尝试使用单括号将这一子集作为子集:

Dataframe <- data.frame(x = rep(c("a", "b", "c", "d"), 23), y = 1)
DataframeSplits <- split(Dataframe,rep(1:23,each=4))

DataframeSplits[[2]][2,]

#   x y
# 6 b 1

有关出色的设置的更多信息,请参见出色的book by Hadley Wickham