我矩陣是這樣的:[R如何在一列中的應用價值重塑矩陣
ID Count
1 2
2 3
3 2
我想創建一個矩陣,其中,同時增加了新的行爲ID
數量等於Count
值列中包含ID
值中每行的索引。對於上面的矩陣,結果應該是:
ID Index
1 1
1 2
2 1
2 2
2 3
3 1
3 2
我矩陣是這樣的:[R如何在一列中的應用價值重塑矩陣
ID Count
1 2
2 3
3 2
我想創建一個矩陣,其中,同時增加了新的行爲ID
數量等於Count
值列中包含ID
值中每行的索引。對於上面的矩陣,結果應該是:
ID Index
1 1
1 2
2 1
2 2
2 3
3 1
3 2
因爲你可以只使用rep
和sequence
一個簡單的例子。
ID=c(1,2,3)
Count=c(2,3,2)
cbind(ID=rep(ID, Count), Index=sequence(Count))
# ID Index
#[1,] 1 1
#[2,] 1 2
#[3,] 2 1
#[4,] 2 2
#[5,] 2 3
#[6,] 3 1
#[7,] 3 2
使用tidyverse
library(tidyverse)
df1 <- df %>%
group_by(ID) %>%
nest() %>%
mutate(data=map(data,~seq_along(1:.x$Count))) %>%
unnest(data)
輸出
ID data
1 1 1
2 1 2
3 2 1
4 2 2
5 2 3
6 3 1
7 3 2
這個答案也可以。我選擇了上面的答案,因爲它首先出現。感謝昨天的快速反應。 – user1757436
我以爲他們要了矩陣? –