相关疑难解决方法(0)

使用%>%管道和点(.)表示法

map嵌套的data_frame上使用时,我不明白为什么后两个版本会出错,我应该如何使用dot(.)?

library(tidyverse)
# dummy data
df <- tibble(id = rep(1:10, each = 10), 
                 val = runif(100))
df <- nest(df, -id)

# works as expected
map(df$data, min)
df %>% .$data %>% map(., min)

# gives an error
df %>% map(.$data, min)
# Error: Don't know how to index with object of type list at level 1

df %>% map(data, min)
Run Code Online (Sandbox Code Playgroud)

r magrittr

22
推荐指数
1
解决办法
2822
查看次数

使用 %&gt;% 管道中的拆分将数据框转换为列表列表

我想将数据框转换为列表列表,如下例所示:

 df <- data.frame(var1=c("A","A","A","B","B","C"),var2=seq(1,6))

 >   var1 var2
 1    A    1
 2    A    2
 3    A    3
 4    B    4
 5    B    5
 6    C    6

 split(df$var2,df$var1)

 $A
 [1] 1 2 3

 $B
 [1] 4 5

 $C
 [1] 6
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否可以使用%>%管道来完成此操作。我不知道如何split在管道中使用,其中df作为输入给出。或者也许还有另一种方法。

r dplyr magrittr

2
推荐指数
2
解决办法
367
查看次数

标签 统计

magrittr ×2

r ×2

dplyr ×1