我有下面的資料框:
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"))
我想在nodes資料框中重塑它。此nodes資料框應包含一列以id索引號 ( 1,2,3...) 命名的列,第二列將被命名group,它將包含該列的Name所有唯一值和所有唯一列名,除了來自資料框的列Name,dummy如:
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
uj5u.com熱心網友回復:
我們可以summarise通過取unique'Name'的值來創建一個 tibble with ,將( 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))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/378696.html
標籤:r
下一篇:R-多重插補前的部分平均插補
