2016-06-20 4 views
-2

特定の基準に基づいて観測を追加したいと思います。例えば特定の基準に基づいて観測を追加するR

SN  Species  Habitat  X_Cor Y_cor  Total 
1  monkey  grassland  4444 6666  6 
2  porcupine  agri_Land  6666 5555  20 

私は60回までの観測を追加したいと思います。上記において、第1の観察は54回(60-5)、「合計」0の値で繰り返される。第2の観察は40回(60-20)反復される。

さらに

は、私が( "合計" の6があるので)最初の観測を6回repeateたいです。

私はこのような観察を590持っています。

+0

あなたの質問はかなりわかりにくいので、私たちは問題を解き明かすことができますか? – Badger

+1

答えをアップアップしたが、3時間後に応答がなかったので質問を下落させた。 –

答えて

1

基準が「合計」の値に基づいて行を複製する場合は、repを使用して行のシーケンスを複製してください。

df1[rep(1:nrow(df1), df1$Total),] 

または我々は、ラッパー

library(splitstackshape) 
expandRows(df1, "Total") 

を必要とする場合の説明add observation upto 60 times. In above, the first observation is to be repeated 54 times (60-5)の一部が示された例から明らかではありません。説明に基づいて複製する必要がある場合

df1[rep(1:nrow(df1), c(54, 40)),] 
関連する問題