gpt4 book ai didi

R:再次出现数字时如何获取Row sequential ID?

转载 作者:行者123 更新时间:2023-12-01 10:36:26 28 4
gpt4 key购买 nike

例如,我有一个这样的数据框,每一行没有重复的数字,数字按每一行排序。

  W1 W2 W3 W4
1 1 3 4 7
2 4 5 6 7
3 1 2 5 8
4 2 5 9 10
5 4 7 10 13
6 1 2 6 9

我想在 1/2/3.... 出现时获取行 ID,因为第 1、3、6 行中有 1;第 3、4、6 行中有 2 个; 3 仅在第 1 行,...;所以我的结果是这样的

1  1 3 6
2 3 4 6
3 1
4 1 2 5
5 2 3 4
......

最佳答案

我会这样做:

split(t(row(df)), unlist(t(df)))

如果您需要显示空关卡:

split(t(row(df)), factor(unlist(t(df)), 1:max(df)))

这应该比循环快很多,例如:

lapply(1:max(df), function(i) which(rowSums(df == i) > 0))

关于R:再次出现数字时如何获取Row sequential ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22468972/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com