Home Forum Statistica con R raggruppare i dati in classi

This topic contains 2 replies and has 2 voices.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #4946

    ilaria_ballesio
    Participant

    Buon giorno a tutti :)
    avrei bisogno del vostro aiuto.

    Devo rappresentare graficamente delle distribuzioni che riguardano le date di nascita di alcuni individui. In totale ho 4316 dati, con le seguenti frequenze:

    > table(eta)
    eta
    1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 
       5    4    9   11   15   11   22   20   38   36   46   43   56   66   87   74  114  146 
    1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 
     117  101  149  133  114   99  107  104   97  119  101  113   68   87  100   76   80   68 
    1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 
      88   80   86   61   77   85   92   72   84   76   69   74   60   69   76   58   61   57 
    1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 
      81   66   70   77   97   99  103   90   90   73   20   21   12   13   14    7    6   11 
    2002 2003 2004 2005 2011 
       7    6    5    4    1 

    Per rappresentarle graficamente, vorrei raggruppare questi dati, magari di 10 in 10.

    Che comando devo utilizzare? Scusate, mi rendo conto della banalità della domanda, ma non riesco proprio a venirne a capo.

    Confido nel vostro aiuto! GRAZIE MILLE <3

    #4955

    Ciao Ilaria,
    sicuramente c’è una soluzione molto meno macchinosa e veloce…ma forse questo potrebbe aiutarti.

    mettiamo di avere questo dataset

    
    df <- data.frame(date=c(rep(1910,3),rep(1920,3),rep(1930,3),rep(1940,3)))
    df
       date
    1  1910
    2  1910
    3  1910
    4  1920
    5  1920
    6  1920
    7  1930
    8  1930
    9  1930
    10 1940
    11 1940
    12 1940
    

    E mettiamo che voglia raggruppare tutto ciò che è inferiore o uguale a 1920 e poi tutto il resto. Potrei creare una nuova colonna del dataframe con la nuova variabile raggruppata utilizzando ifelse()

    
    df$date_groups <- ifelse(df$date <= 1920, "1910-20",
                             ifelse(df$date <= 1940, "1921-40"))
    df
       date date_groups
    1  1910     1910-20
    2  1910     1910-20
    3  1910     1910-20
    4  1920     1910-20
    5  1920     1910-20
    6  1920     1910-20
    7  1930     1921-40
    8  1930     1921-40
    9  1930     1921-40
    10 1940     1921-40
    11 1940     1921-40
    12 1940     1921-40
    

    dimmi se questa soluzione potrebbe aiutarti oppure se ti serve qualcosa di diverso.

    #4961

    ilaria_ballesio
    Participant

    Fatto! grazie mille! ti posso ancora disturbare? Scusa se continuo a farti domande banali, me ne rendo conto, ma è la prima volta che uso R e non ho tempo di leggere i manuali perchè tra poco devo consegnare il lavoro.

    io ho questi vettori

    freq<-c(52.4,56.4,55.8,55.5,54.4,63.4,57.6)
    freq1<-c(47.6,43.6,44.2,44.5,45.6,36.6,42.4)

    Freq rappresenta la frequenza relativa delle ragazze mentre freq1 dei ragazzi.
    Dovrei creare un istogramma in cui mettere, per ciascuna colonna, sotto la frequenza dei maschi e sopra ad essa quella delle femmine, in modo tale da avere delle colonne di altezza 1 (=100%) (ovvero creare 7 colonne di questo genere:
    1°–> contiene 47.6 e 52.4
    2°–> 43.6 e 56.4
    3°–> etc…)

    che comando devo utilizzare?

    grazie ancora e scusa per il disturbo. Prometto che in futuro studierò bene come utilizzare R :)

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.