異なるdata.frameで完全に動作するが、同様の条件で動作するコードを調整する必要があります。ここで特定の行の値に応じてデータフレームに列を追加する(2)
私data.frameの例:
df <- read.table(text = 'ID Day Count
33012 9526 4
35004 9526 4
37006 9526 4
37008 9526 4
21009 1913 3
24005 1913 3
25009 1913 3
22317 2286 2
37612 2286 2
25009 14329 1
48007 9527 0
88662 9528 0
1845 9528 0
8872 2287 0
49002 1914 0
1664 1915 0', header = TRUE)
私はこれらのnew_col
値は含める必要が1から4までの値が含まれている私のdata.frameに新しい列(new_col
)を追加する必要があり、 x = 9526,1913,2286,14329(列Day
)の各1日(x)日(x +1)および1日(x + 2)
は私の出力は次のようになります。
ID Day Count new_col
33012 9526 4 1
35004 9526 4 1
37006 9526 4 1
37008 9526 4 1
21009 1913 3 2
24005 1913 3 2
25009 1913 3 2
22317 2286 2 3
37612 2286 2 3
25009 14329 1 4
48007 9527 0 1
88662 9528 0 1
1845 9528 0 1
8872 2287 0 3
49002 1914 0 2
1664 1915 0 2
、その後になりますnew_col
順data.frame:
ID Day Count new_col
33012 9526 4 1
35004 9526 4 1
37006 9526 4 1
37008 9526 4 1
48007 9527 0 1
88662 9528 0 1
1845 9528 0 1
21009 1913 3 2
24005 1913 3 2
25009 1913 3 2
49002 1914 0 2
1664 1915 0 2
22317 2286 2 3
37612 2286 2 3
8872 2287 0 3
25009 14329 1 4
私の本当のdata.frameは、(例えば、より複雑である、すなわちより列、およびより多くの値)。
x <- c(1913, 2286, 9526, 14329)
df$new_col <- cut(df$Day, c(-Inf, x, Inf))
df$new_col <- as.numeric(factor(df$new_col, levels=unique(df$new_col)))
しかし、それだけで一日のx、当日のX -1日のx -2で動作します:
私の前の質問(Add column to dataframe depending on specific row values)で私を提案@mrbrickコードは次のようです。
ご意見は本当に役に立ちます。
'DF $ new_col <試す - カット($デイDF、C(-Inf、X、INF)、右= F)'。 – AntoniosK
'df $ Day'にはもっと多くの値がありますか?お互いに非常に離れた異なるグループに属している値ですか? –
'' Day'列に必要な 'x'をすべて知っていますか? – cderv