2017-05-12 5 views
-1

「ラベル」という列を持つデータフレームがあるとします。データフレームは、最初の3つの行のラベルを "A"に、次の5つの行を "B"に、次の8つの行を "C"に、というように構成されています。個別のループを持つデータフレームの行に値を反復的に追加する

は順序が行くような配列ともパターンが存在しないと仮定します

loop <- c(3, 5, 8, 2, 1, 3) 

は、そして私はのは

labels <- c("A", "B", "C", "L", "G", "X") 

それらを呼びましょう、データフレームにラベルのいくつかの特定のセットを割り当てますこの方法でラベルに行の値を割り当てる最良の方法は何ですか?私は二重ループのラインに沿って何かを考えていたが、すぐに乱雑になった。

+2

あなたはforループが必要です。 'rep(labels、times = loop)' – Lamia

答えて

1

これは動作します:

loop <- c(3, 5, 8, 2, 1, 3) 

labels <- c("A", "B", "C", "L", "G", "X") 

data <- matrix(1:(sum(loop)), sum(loop),1) 

names <- rep(labels, loop) 

rownames(data) <- names 

ラミアさんのコメント:)

EDITを使用して:必ずしもunlist(...)を必要としません。

関連する問題