1

あるベクトルを別のベクトルで切ると、(0,100]、(100,200] など) のような多くの係数が得られます。これらの係数の 1 つを取得して、上限または下限を取る方法はありますか?

例: for (100,200] 100 と 200 を取得する方法が必要です。

編集:

> v <- cut(c(3,4,6,8), c(1,4,5,9,12))  
> v  
[1] (1,4] (1,4] (5,9] (5,9]  
  Levels: (1,4] (4,5] (5,9] (9,12]  
  > v[1]  
  [1] (1,4]  
  Levels: (1,4] (4,5] (5,9] (9,12]

v[1] が与えられたときに、数値 1 と 4 を取得する何らかの方法が必要です。

4

2 に答える 2

2
v <- cut(c(3,4,6,8), c(1,4,5,9,12))
levels(v)
#[1] "(1,4]"  "(4,5]"  "(5,9]"  "(9,12]"

as.numeric(sub('.([^,]+),.*', '\\1', levels(v)))
#[1] 1 4 5 9

as.numeric(sub('.*,(.*).', '\\1', levels(v)))
#[1]  4  5  9 12
于 2013-07-11T19:24:20.043 に答える
2
strsplit(gsub("\\[|\\]|\\(", "", as.character(v[1]) ) , ",")[[1]]

#[1] "1" "4"
于 2013-07-11T19:28:06.540 に答える