0
可能重複:
function with multiple outputs
numbering rows within groups in a data frame從R中的循環返回多個結果?
天兒真好,我有一個由地方分組的人員的名單。我想產生一個新的變量,給每個人一個數字,依賴於他們的位置。我想我的數據看起來就像是:
place individual
here 1
here 2
here 3
there 1
there 2
somewhere 1
somewhere 2
我寫了這個:
nest<-data.frame(location=c("one","one","two", "three", "three", "three"))
individual<- function(x)
{
pp = 1
jj = 1
for (i in 2:length(x)){
if (x[i] == x[pp]){
res<- jj+1
pp = pp + 1
jj = jj + 1
}
else{
res<- 1
pp = pp + 1
jj = 1
}
}
return(res)
}
test<- individual(nest$location)
test
我敢肯定這不會是我想要的東西,但是,我想不出如何返回多個結果值。如何更改此函數以返回每個位置值的結果?或者,有沒有更簡單的方法來使用預先存在的R軟件包來做到這一點?
P.S.在附註中,我從nest $ individual [2]開始函數,因爲當它從1開始函數並嘗試查找以前的值(不存在)時,它會返回一個錯誤。如果有人想到如何解決這個問題,我很樂意聽到它。乾杯。
參見http://stackoverflow.com/questions/12925063/numbering-rows-within-groups-in-a-data-frame/12925090#12925090 – mnel
@mnel謝謝,我知道有一個更好的重複出現在那裏,我似乎無法找到它... – joran
這裏的問題標題並不真正反映這個問題。 – mnel