下面是一個例子的數據幀:如何生成的數字中的R的不均勻序列
df <- data.frame(x=c(1,1,2,2,2,3,3,4,5,6,6,6,9,9),y=c(1,2,3,4,6,3,7,8,6,4,3,7,3,2))
我想根據每x
組y
觀察次數,以產生一個數字序列(例如有2個y
的觀察值爲x=1
)。我希望序列不斷增加,並在每個x
組後跳躍2。
在這個例子中所需的輸出將是:
1,2,5,6,7,10,11,14,17,20,21,22,25,26
我怎樣才能在R請勿這根本?
如果他們已經進行分組,並在你表現出的方式標記,不能你只要運行它作爲'$ DF rowname < - 1 :dim(df)[1]; df $ newNumber < - df $ rowname +(df $ x-1)* 2',並且'df $ newNumber'將成爲所需的輸出結果? – chappers
@chappers感謝您的想法,但是我正在尋找一個通用的解決方案,我只是意識到我的x是順序的,可以通過這個解決,但x可以真的是任何值 – xyy
擴展@chappers的想法,庫( data.table); setDT(df)[,gr:= .GRP,x] [,1:.N +(gr-1)* 2]#[1] 1 2 5 6 7 10 11 14 17 20 21 22 25 26' – akrun