在R中对数据帧进行子集之后拆分的奇怪行为

时间:2018-06-17 15:35:39

标签: r

我正在尝试从庞大的数据框中对数据框进行子集化,然后将该子集分组为多个小数据帧。但是,split()函数不是从小数据帧返回信息,而是返回其父数据帧。

我可以使用iris数据集重现它:

data("iris")
# Subset from the huge dataframe
sub_df = iris[grep("virginica", iris$Species), ]

# Group them by the `Species` column
split_list = split(sub_df, sub_df$Species)
length(split_list)        # It gives 3

split_list看起来像:

$setosa
[1] Sepal.Length Sepal.Width  Petal.Length Petal.Width  Species     
<0 rows> (or 0-length row.names)

$versicolor
[1] Sepal.Length Sepal.Width  Petal.Length Petal.Width  Species     
<0 rows> (or 0-length row.names)

$virginica
    Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
101          6.3         3.3          6.0         2.5 virginica
102          5.8         2.7          5.1         1.9 virginica
...

为什么split()会生成setosaversicolor个数据帧?

0 个答案:

没有答案