這是r - How to add row index to a data frame, based on combination of factorsr添加索引列基於行的數據幀值
延續我試圖複製我所相信的是使用綠色覈對答案,我一直讓其他比預期的東西所期望的結果。我確信我正在做一些非常基本的錯誤,但似乎無法看到它,或者我誤解了期望的狀態。
從原帖中的數據:
temp <- data.frame(
Dim1 = c("A","A","A","A","A","A","B","B"),
Dim2 = c(100,100,100,100,200,200,100,200),
Value = sample(1:10, 8)
)
然後,我跑到下面的代碼:temp$indexLength <- ave(1:nrow(temp), temp$Dim1, factor(temp$Dim2), FUN=function(x) 1:length(x))
和:temp$indexSeqAlong <- ave(1:nrow(temp), temp$Dim1, factor(temp$Dim2), FUN=seq_along)
,然後我創建了以下內容:temp$indexDesired <- c(1, 1, 1, 1, 2, 2, 3, 3)
。 ..結束以下數據框:
Dim1 Dim2 Value indexLength indexSeqAlong indexDesired
1 A 100 6 1 1 1
2 A 100 2 2 2 1
3 A 100 9 3 3 1
4 A 100 8 4 4 1
5 A 200 10 1 1 2
6 A 200 4 2 2 2
7 B 100 3 1 1 3
8 B 200 5 1 1 4
如果我能弄清楚我沒有得到所需的索引 - 並假設代碼可擴展到2個以上的變量 - 我應該全部設置。提前致謝!
你肯定在'indexDesired'不應該是最後一個值'4'? – thelatemail
@thelatemail我相信它應該是!感謝您的支持 – user2621147
@IShouldBuyABoat我很樂意分享一小段數據,顯示下面提出的兩種方法的相應結果。然而,我似乎無法找到如何正確輸入數據到SO問題的任何方向,並且爲MOD做了大量額外的工作。當我弄清楚的時候,我會把比較起來。 – user2621147