[英]How to summarise a column in a grouped tibble into a list of unique values
[英]How to create a tibble with hierarchically and arbitrary grouped variables mapped to unique values?
是否有一种优雅而通用的方式来在 tibble 下重现?
data.frame(First=rep(c('A', 'B'), each=2),
Second=rep(c(1, 2), each=4),
Third=rep(c('true', 'false')),
Unique=1:8, stringsAsFactors = F) %>% as.tibble()
output:
<table><tbody><tr><th>First</th><th> Second</th><th> Third</th><th> Unique</th></tr><tr><td><chr> </td><td><int> </td><td><chr> </td><td><dbl></td></tr><tr><td>A</td><td>1 </td><td>true</td><td>1</td></tr><tr><td>A</td><td>1 </td><td>false</td><td>2</td></tr><tr><td>B</td><td>1 </td><td>true</td><td>3</td></tr><tr><td>B</td><td>1 </td><td>false</td><td>4</td></tr><tr><td>A</td><td>2 </td><td>true</td><td>5</td></tr><tr><td>A</td><td>2</td><td>false</td><td>6</td></tr><tr><td>B</td><td>2 </td><td>true</td><td>7</td></tr><tr><td>B</td><td>2</td><td>false</td><td>8</td></tr></tbody></table>
嗨,这应该做的工作。
expand.grid(first = c('A', 'B'), second = 1:2, third = c("true", "false")) %>%
mutate(Unique = 1:n())
使用tidyverse
函数,您可以:
tidyr::crossing(First = c('A', 'B'), Second = 1:2, Third = c(TRUE, FALSE)) %>%
dplyr::mutate(Unique = row_number())
# First Second Third Unique
# <chr> <int> <lgl> <int>
#1 A 1 FALSE 1
#2 A 1 TRUE 2
#3 A 2 FALSE 3
#4 A 2 TRUE 4
#5 B 1 FALSE 5
#6 B 1 TRUE 6
#7 B 2 FALSE 7
#8 B 2 TRUE 8
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.