嵌套的小标题功能未提供预期的输出

时间:2019-06-19 15:00:51

标签: r

我有一些类似于下面的iris数据集的数据。我正在尝试基于两列(group_by(Species, years))嵌套数据。我将数据放入名为data的小标题中。看起来像这样:

# A tibble: 15 x 3
   Species    years data             
   <fct>      <int> <list>           
 1 setosa         1 <tibble [10 x 4]>
 2 setosa         5 <tibble [10 x 4]>
 3 setosa         3 <tibble [10 x 4]>
 4 setosa         4 <tibble [10 x 4]>
 5 setosa         2 <tibble [10 x 4]>

我正在尝试为每个小节计算分位数。因此,计算Species == virginicayears == 1并计算Sepal.Length的分位数,但是由于我选择了{{1}由整个数据组成,而不是过滤后的数据或嵌套数据。

这段代码给了我我想要的输出:

virginica_Q = map(data, ~select(.x, Sepal.Length, Sepal.Width))

我现在有data的分位数:

iris %>%
  filter(Species == "virginica") %>%
  filter(years == 1) %>%
  mutate(Q_vir_sep_len = ntile(Sepal.Length, 4))

我只想在所有Sepal.Length上复制它

数据/代码

  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species years Q_vir_sep_len
1           6.3         3.3          6.0         2.5 virginica     1             1
2           7.6         3.0          6.6         2.1 virginica     1             4
3           6.5         3.2          5.1         2.0 virginica     1             1
4           6.4         3.2          5.3         2.3 virginica     1             1
5           6.9         3.2          5.7         2.3 virginica     1             3
6           7.2         3.2          6.0         1.8 virginica     1             3
7           7.4         2.8          6.1         1.9 virginica     1             3
8           7.7         3.0          6.1         2.3 virginica     1             4
9           6.7         3.1          5.6         2.4 virginica     1             2
10          6.7         3.0          5.2         2.3 virginica     1             2

我认为对我来说解决方案很简单:

nested_tibbles

我不需要为每个分位数创建不同的小标题...

1 个答案:

答案 0 :(得分:0)

如果您要修改嵌套的小标题,则应该这样做:

RecyclerView

然后,您可以在内部nested_iris <- iris %>% group_by(Species, years) %>% nest(.key = "data") %>% mutate(data = map(data, function(df) { mutate(df, Sepal.Length.Q4 = ntile(Sepal.Length, 4)) })) # then looking in the first nested tibble: nested_iris$data[[1]] # A tibble: 10 x 5 Sepal.Length Sepal.Width Petal.Length Petal.Width Sepal.Length.Q4 <dbl> <dbl> <dbl> <dbl> <int> 1 5.1 3.5 1.4 0.2 3 2 5.4 3.9 1.7 0.4 3 3 5.4 3.7 1.5 0.2 3 4 5.7 4.4 1.5 0.4 4 5 5.4 3.4 1.7 0.2 4 6 5 3 1.6 0.2 1 7 4.8 3.1 1.6 0.2 1 8 5 3.2 1.2 0.2 2 9 5 3.5 1.3 0.3 2 10 4.8 3 1.4 0.3 1 中定义所需的任何新列。