junyuan_li.Rmd
library(ttfriends)
df <- data.frame(x= c("A","A","B","B","B","C"),y=c("a","b","a","a","b","a"),z=1:6)
df
#> x y z
#> 1 A a 1
#> 2 A b 2
#> 3 B a 3
#> 4 B a 4
#> 5 B b 5
#> 6 C a 6
table_bind_group(object = df,id = "x",col = "y")
#> # A tibble: 3 × 2
#> # Groups: x [3]
#> x groups
#> <fct> <chr>
#> 1 A a;b
#> 2 B a;b
#> 3 C a
table_bind_group(object = df,id = "x",col = "y",keep = TRUE)
#> # A tibble: 5 × 4
#> x y z groups
#> <fct> <fct> <int> <chr>
#> 1 A a 1 a;b
#> 2 A b 2 a;b
#> 3 B a 3 a;b
#> 4 B b 5 a;b
#> 5 C a 6 a
table_bind_group(object = df,id = "x",col = "y",unique = FALSE)
#> # A tibble: 3 × 2
#> # Groups: x [3]
#> x groups
#> <fct> <chr>
#> 1 A a;b
#> 2 B a;a;b
#> 3 C a
table_bind_group(object = df,id = "x",col = "y",count = TRUE)
#> # A tibble: 3 × 3
#> # Groups: x [3]
#> x groups count
#> <fct> <chr> <dbl>
#> 1 A a;b 2
#> 2 B a;b 2
#> 3 C a 1
df2 <- data.frame(x=c("A","B"),y=c("123","4567"),z=c("C","D"))
df2
#> x y z
#> 1 A 123 C
#> 2 B 4567 D
table_split_group(object = df2, col="y")
#> # A tibble: 7 × 3
#> x y z
#> <fct> <chr> <fct>
#> 1 A 1 C
#> 2 A 2 C
#> 3 A 3 C
#> 4 B 4 D
#> 5 B 5 D
#> 6 B 6 D
#> 7 B 7 D
df3 <- data.frame(x=c("A","B"),y=c("apple123","banana4567"),z=c("C","D"))
df3
#> x y z
#> 1 A apple123 C
#> 2 B banana4567 D
table_split_group(object = df3, col="y", header=c("apple","banana"))
#> # A tibble: 7 × 3
#> x y z
#> <fct> <chr> <fct>
#> 1 A apple1 C
#> 2 A apple2 C
#> 3 A apple3 C
#> 4 B banana4 D
#> 5 B banana5 D
#> 6 B banana6 D
#> 7 B banana7 D
df4 <- data.frame(x=c("A","B"),y=c("OTU1;k=1;p=2;c=3","OTU2;k=1;p=2;c=4"),z=c("C","D"))
df4
#> x y z
#> 1 A OTU1;k=1;p=2;c=3 C
#> 2 B OTU2;k=1;p=2;c=4 D
table_split_group(object = df4, col="y", header="OTU.;", sep=";")
#> # A tibble: 6 × 3
#> x y z
#> <fct> <chr> <fct>
#> 1 A OTU1;k=1 C
#> 2 A OTU1;p=2 C
#> 3 A OTU1;c=3 C
#> 4 B OTU2;k=1 D
#> 5 B OTU2;p=2 D
#> 6 B OTU2;c=4 D