2

列の値に基づいて行を複製しようとしています。私のデータフレーム(df)は現在次のようになっています:

種名 訪問
アピスメートル 4
ボンバス l 7

など(さらに34列あり、すべて繰り返す必要があります)次のようにしたい:

種名
アピスメートル
アピスメートル
アピスメートル
アピスメートル
ボンバス l
ボンバス l
ボンバス l
ボンバス l
ボンバス l
ボンバス l
ボンバス l

これはすでに 1767 の観測のかなり大きなデータセットです。190 の「種名」があり、それぞれが数百回訪問されています。

私はR(およびコーディング)に非常に慣れていないため、すべてが非常に「試行錯誤」です。「splitstackshape」を使用して Stack Overflow で解決策を見つけましたが、エラーが発生しています

「.subset2(x、i、exact = exact) のエラー: レベル 2 で再帰的なインデックス作成に失敗しました」。

これは私のコードです:

expandRows(df, df$Visits, 
           count.is.col = TRUE, drop = TRUE)

このエラーの他のインスタンスについて質問がありますが、「行の展開」機能に関連することに注意してください。列は整数として保存され、「Visits」列から null 値を削除しました。

私の問題が何であるか、またはこれを行う方法の他のアイデアについての指針は大歓迎です。

ダニエル

編集: 以下の Reprex。Reprex なしでコードを実行しているように見えるため、「機能が見つかりませんでした」が何に関連するのかわかりませんか? また、実際の列名と df が含まれているわけではありませんが、上記の例では簡略化しています。

expandRows(BombusL, BombusL$No.of.Interaction.Records, count.is.col = TRUE, 
    drop = TRUE)
#> Error in expandRows(BombusL, BombusL$No.of.Interaction.Records, count.is.col = TRUE, : could not find function "expandRows"
4

2 に答える 2