Seite 1 von 1

Gewichteter Mittelwert

Verfasst: Di Sep 05, 2017 7:25 pm
von Hadsga
Hallo R-Forum,

ich habe folgendes Problem:

Ich habe in meinem data frame den Mittelwert einer Varibale berechnet:

Code: Alles auswählen

A tibble: 606 x 2
            categories avg_stars
                 <chr>     <dbl>
 1          Acai Bowls  4.115385
 2         Accessories  3.833333
 3         Accountants  2.000000
 4         Active Life  3.545198
 5         Acupuncture  4.250000
 6               Adult  4.000000
 7     Adult Education  4.375000
 8 Adult Entertainment  2.972222
 9         Advertising  5.000000
10              Afghan  3.793750
Das Problem ist, dass sich die Fallzahlen der Varibale unterscheiden:

Code: Alles auswählen

# A tibble: 606 x 2
            categories     n
                 <chr> <int>
 1          Acai Bowls    13
 2         Accessories     3
 3         Accountants     1
 4         Active Life   177
 5         Acupuncture     2
 6               Adult     1
 7     Adult Education     4
 8 Adult Entertainment    18
 9         Advertising     1
10              Afghan    80
Dies würde ich gerne bei der Berchnung berücksichtigen. Mit folgendem Code habe ich es versucht:

Code: Alles auswählen


yelp_tbl %>% filter(str_detect(categories, "Restaurant")) %>% unnest(categories) %>% select(categories, stars) %>% filter(categories != "Restaurants") %>% count(categories) %>% group_by(categories) %>% summarise(avg_stars = mean(stars ,n ))

Ich bekomme dann aber folgende Fehlermeldung:

Code: Alles auswählen


# A tibble: 606 x 2
            categories avg_stars
                 <chr>     <dbl>
 1          Acai Bowls        NA
 2         Accessories        NA
 3         Accountants        NA
 4         Active Life        NA
 5         Acupuncture        NA
 6               Adult        NA
 7     Adult Education        NA
 8 Adult Entertainment        NA
 9         Advertising        NA
10              Afghan        NA
# ... with 596 more rows
There were 50 or more warnings (use warnings() to see the first 50)

In mean.default(stars, n)

Hat jemand eine Ahnung wie man das macht?

Re: Gewichteter Mittelwert

Verfasst: Di Sep 05, 2017 10:13 pm
von bigben
Wenn mean auf NA trifft, dann ergibt es normalerweise NA. Das kann man abschalten. Lies mal unter help (mean), welche Argumente es da gibt.

LG,
Bernhard

Re: Gewichteter Mittelwert

Verfasst: Di Sep 05, 2017 10:32 pm
von EDi
Vermutlich hilft dir auch ?weighted.mean .

Re: Gewichteter Mittelwert

Verfasst: Do Sep 07, 2017 11:19 am
von Hadsga
Hi,

danke für die Antworten.
Es sind keine NA´s in dem Datensatz enthalten. Die Heplfunktion habe ich schon durchgeschaut. In meiner Fromel habe ich ja versucht "n" als Vektor einzusetzten.