データフレームの別の列の値に基づいて、R のデータフレームに列を追加するにはどうすればよいですか?
たとえば、x$n = [1,2,3,4,5,6] として 1 つの列がある場合 (他の列の値は正確には重要ではありません。また、値 0 を割り当てる「カテゴリ」列として別の列が必要です。 x$n < 2, x$n が 3 ~ 4 の場合は 1、x$n > 4 の場合は 3 です。したがって、対応する列は x$category = [0,0,1,1,2,2] になります。
データフレームの別の列の値に基づいて、R のデータフレームに列を追加するにはどうすればよいですか?
たとえば、x$n = [1,2,3,4,5,6] として 1 つの列がある場合 (他の列の値は正確には重要ではありません。また、値 0 を割り当てる「カテゴリ」列として別の列が必要です。 x$n < 2, x$n が 3 ~ 4 の場合は 1、x$n > 4 の場合は 3 です。したがって、対応する列は x$category = [0,0,1,1,2,2] になります。
使用cut
:
within(x, category <- as.integer(cut(n,c(-Inf,2,4,Inf)))-1)
使用ifelse
:
within(x, category <- ifelse(n>4, 2, ifelse(n>2, 1, 0)))
暗黙のブール値を使用 -> 整数強制::
within(x, category <- (n>2) + (n>4))
あなたが持っている場合:
x = data.frame(n = 1:6)
カテゴリが 3 つしかない場合、最も簡単な解決策は次のとおりです。
x$category = 0
x$category[x$n > 2] = 1
x$category[x$n > 4] = 2
本当に賢くなりたい場合は、次のようにすることができます。
x$category = floor(x$n/2.5)
関数 `はfloor
切り捨てます。