我矩阵是这样的:[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
我以为他们要了矩阵? –