我的桌子是这样的:
A B C
1 a b' 1
2 a b' 2
3 a b'' 3
4 a2 b1 1
5 a3 b2 3例如:列A-是一个属(如E.)B列是一种(大肠杆菌),C列是该物品的一类(不含金属)
因此,我需要理解,有多少类(B)包括:
A B C1 C2 C3
1 a b' + + -
2 a b'' - - +
3 a2 b1 + - -
4 a3 b2 - - +发布于 2021-09-15 16:24:41
使用tidyverse
df <- data.frame(A = c('a','a','a','a2','a3'),
B = c("b'", "b'", "b''", "b1", "b2"),
C = c(1,2,3,1,3))
df %>%
mutate( C = paste("C",C, sep = ""),
D = "+") %>%
pivot_wider(names_from = C, values_from = D, values_fill = "-")首先创建data.frame,然后实际创建C1、C2、C3。您请求了一个+/-系统,所以我将一个+放在它存在的位置,当我pivot_wider时也是如此。现在,pivot_wider将以+和NA值结束;因此,要对其进行更正,请使用values_fill =选项并将其设置为-。
# A tibble: 4 x 5
A B C1 C2 C3
<chr> <chr> <chr> <chr> <chr>
1 a b' + + -
2 a b'' - - +
3 a2 b1 + - -
4 a3 b2 - - + 发布于 2021-09-15 16:37:59
使用dcast
library(data.table)
dcast(setDT(df)[, tmp := "+"], A + B ~ paste0("C", C), value.var = "tmp", fill = "-")
A B C1 C2 C3
1: a b' + + -
2: a b'' - - +
3: a2 b1 + - -
4: a3 b2 - - +https://stackoverflow.com/questions/69196589
复制相似问题