R-ге алдын ала жинақталған/топтастырылған деректердің қорапшасы

In R I want to create a boxplot over count data Орнына raw data. So my table schema looks like

Value | Count
1 | 2
2 | 1

...

Орнына

Мәні   1
  1
  2
    ...

Екінші жағдайда мен жай ғана орындай аламын boxplot (x)

5
Сіз қандай графиканы күтесіз. Бұл тек екі есепке алынатын құндылық және бокстың өте қызықты болуы. Сіз барчартты ойлайсыз ба?
қосылды автор 42-, көзі
Бұл мысалдағы деректер ғана, менің нақты деректер жиынтығымда көптеген басқа жолдар бар
қосылды автор John Montague, көзі

3 жауаптар

Мен қазірдің өзінде жинақталған деректермен өзіңіз қалаған нәрсені орындаудың амалы бар екеніне сенімдімін, бірақ егер жоқ болса, rep векторларын қабылдайтын фактіні теріс пайдалана аласыз:

> dat <- data.frame(Value = 1:5, Count = sample.int(5))
> dat
  Value Count
1     1     1
2     2     3
3     3     4
4     4     2
5     5     5
> rep(dat$Value, dat$Count)
 [1] 1 2 2 2 3 3 3 3 4 4 5 5 5 5 5

Жай ғана орамалға орап, сіз қалаған нәрсені алуыңыз қажет. Мен мұны істеудің неғұрлым тиімді/жақсы әдісі бар екеніне сенімдімін, бірақ бұл сіз үшін жұмыс істеуі керек.

0
қосылды
Бұл жұмыс істейді, бірақ менің ісімде өте ауыр болды, өйткені мен өзімнің сюжетімде көптеген санаттардың (Value, Count) қосымша өрістерін жасағым келді. Бірақ c'est la vie. Ұсынысқа рахмет!
қосылды автор John Montague, көзі
@John - мазасыздық жоқ. Менің басқа ұсынысым ggplot2-ге қарайды. Мен сізде алдын ала жинақталған деректермен таныса аласыз. Кешіріңіз, мен көбінесе базалық графиктерді пайдаланбаймын: had.co.nz/ggplot2/geom_boxplot.html
қосылды автор Chase, көзі

rep және data.frame комбинациясын жіктеу үшін басқа айнымалы мән қажет болса,

Мысалы.

with(data.frame(v1=rep(data$v1,data$count),v2=(data$v2,data$count)),
    boxplot(v1 ~ v2)
)
0
қосылды

Мен жақында ұқсас мәселені 'rep' функциясымен әр бағандағы 'apply' функциясын қолданып шештік:

> datablock <- apply(countblock[-1], 2, function(x){rep(countblock$value, x)})
> boxplot(datablock)

... Жоғарыда айтылғандай, сіздің бағандарыңыз бірінші бағанда және кейінгі бағандарда санақ деректері бар.

0
қосылды