1

現在、このループを使用して、インデックスの範囲に基づいてデータセット (df_2) から行をトリミングし、セクションの開始インデックスと終了インデックスを df_3 の 2 列から取得して、新しいファイル (df) を作成します。

for(i in 1:nrow(df_3)){
  if (i==1) df <- df_2[df_3$start[i]:df_3$end[i],]
  else df <- rbind(df,df_2[df_3$start[i]:df_3$endi],])
}

各セクションには、それに関連付けられた値があり、df_3 の列 3 に含まれています。そのセクションに関連付けられた値を繰り返す新しい列を df に作成したいと考えています。

ここでいくつかの支援をいただければ幸いです。お気軽に説明を求めてください - 私ができる限り簡潔でした!

Joranの提案による - ここにいくつかの例があります

DF

index  new_column
0     
1
2
3
4
5
6
7
8
9
10

DF_3

start  _end  new_column_values

0      3     1
4      6     2
7      10    3
4

1 に答える 1

1

あなたの質問を正しく理解できればcut、次のように使用できるかもしれません。

DF$new_column <- cut(DF$index, 
                     breaks = c(DF_3$start[1], DF_3$end), 
                     include.lowest = TRUE, 
                     labels = DF_3$new_column_values)
DF
   index new_column
1      0          1
2      1          1
3      2          1
4      3          1
5      4          2
6      5          2
7      6          2
8      7          3
9      8          3
10     9          3
11    10          3

これで、私は利用可能な情報を利用しようとしています。基本的に の因子を作成してDF$indexおり、因子レベルは別の で見つかった範囲によって決定されますdata.frame。したがって、 についてcutは、breaks最初の開始値とすべての終了値を含むベクトルに設定し、「ラベル」を「new_column_values」変数の値に設定しました。

結果の "new_column" は (現在の形式では) 数値変数ではなく、係数であることに注意してください。

于 2013-02-26T17:37:12.550 に答える