3

以下の構造と値を持つデータフレームがあります。

total_size <- 5000;
id line_number
1   1232
2   1456
3   1832
4   2002

next_row の値を使用して、データ フレームに新しい列を動的に追加する必要があります。すなわち: 新しい列の値は、次の行の (line_number) -1 である必要があります。最後の行の値には、total_size 値を入力する必要があります。

私が生成する必要がある最終的な出力は次のとおりです。

id line_number   end_line_number
1   1232         1455
2   1456         1831
3   1832         2001
4   2002         5000

Rでこれを動的に生成する方法はありますか?

4

1 に答える 1

5

これはかなり基本的な質問です。2 番目の列の最初のエントリを削除し、そこから 1 を引き、最後のエントリに NA を追加することで、新しい列を作成できます。

# assuming your data.frame is called 'dt'
dt$end_line_number <- c(dt$line_number[-1]-1, NA)

(または) を使用してtransform

dt <- transform(dt, end_line_number = c(line_number[-1]-1, NA))
于 2013-07-12T15:08:29.933 に答える