我有下面的数据帧:
dummy<-structure(list(Name = c("A", "B", "C", "A", "B", "C"), `#BISB` = c(2,
6, 4, 0, 4, 6), `#BISC` = c(2, 6, 4, 0, 4, 6), `#BISD` = c(2,
6, 4, 0, 4, 6), `#BISE` = c(2, 6, 4, 0, 4, 6), `#BISF` = c(2,
6, 4, 0, 4, 6), `#BISG` = c(2, 6, 4, 0, 4, 6), `#BISH` = c(2,
6, 4, 0, 4, 6)), row.names = c(NA, -6L), class = c("tbl_df",
"tbl", "data.frame"))
并且我想在CCD_ 1数据帧中对其进行整形。此nodes
数据帧应包含一个名为id
的列,该列具有索引号(1,2,3
…(,第二列将命名为group
,并且它将包含列Name
的所有唯一值以及dummy
数据帧中除列Name
之外的所有唯一列名,如:
id group
1 1 A
2 2 B
3 3 C
4 4 #BISB
5 5 #BISC
6 6 #BISD
7 7 #BISE
8 8 #BISF
9 9 #BISG
10 10 #BISH
我们可以用summarise
创建一个tibble,方法是取'Name'的nodes
0值,将(c
(与除第一个之外的列名连接,然后创建'id'作为序列(row_number()
(
library(dplyr)
dummy %>%
summarise(group = c(unique(Name), names(.)[-1])) %>%
mutate(id = row_number(), .before = 1)
-输出
# A tibble: 10 × 2
id group
<int> <chr>
1 1 A
2 2 B
3 3 C
4 4 #BISB
5 5 #BISC
6 6 #BISD
7 7 #BISE
8 8 #BISF
9 9 #BISG
10 10 #BISH
或者更容易
out <- data.frame(group = c(unique(dummy$Name), names(dummy)[-1]))
out$id <- seq_len(nrow(out))