有人可以解释一下为什么在dplyr-magrittr管道操作的链条中,table()
不起作用吗?这里是一个简单的reprex:
tibble(
type = c("Fast", "Slow", "Fast", "Fast", "Slow"),
colour = c("Blue", "Blue", "Red", "Red", "Red")
) %>% table(.$type, .$colour)
Error in sort.list(y) : 'x'必须是原子性的,以便进行'sort.list'操作。您是否对列表调用了'sort'函数?
当然,这样也可以工作:
df <- tibble(
type = c("Fast", "Slow", "Fast", "Fast", "Slow"),
colour = c("Blue", "Blue", "Red", "Red", "Red")
)
table(df$type, df$colour)
Blue Red
Fast 1 2
Slow 1 1
df %>% group_by(type, colour) %>% tally()
。此代码可对数据框按照 type 和 colour 进行分组,并计算每个组中的行数。 - Sotosdf %>% select(type,colour) %>% table
(如果有其他列,可以使用select
). - Lamia