Home Forum Statistica con R Data frame vuoto da riempire

This topic contains 2 replies and has 2 voices.

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

    alexpis
    Participant

    Ciao a tutti,

    sono alle prime armi con R e chiedo aiuto a voi esperti.

    Ho un data frame che si chiama measurements che contiene 10 righe e 9 colonne; le 9 colonne sono in realtà 3 linee cellulari da 3 ripetezioni, e il dataframe contiene dei numeri che indicano l’espressione di un certo gene (10 geni, uno per riga).

    Ho creato una funzione che legge il numero all’interno di measurements e restituisce una parola a seconda del suo valore:

    getExp <- function(measurements){
    if(measurements < 5){
    print(“none”)
    }
    if(measurements >= 5 & measurements < 20){
    print(“low”)
    }
    if(measurements >= 20 & measurements < 60){
    print(“medium”)
    }
    if(measurements >= 60){
    print(“high”)
    }
    }

    quindi se do il comando
    getExp(22)

    mi esce:
    [1] “medium”

    Ho un secondo data frame vuoto che si chiama home:
    cell1 cell2 cell3
    gene1 NA NA NA
    gene2 NA NA NA
    gene3 NA NA NA
    gene4 NA NA NA
    gene5 NA NA NA
    gene6 NA NA NA
    gene7 NA NA NA
    gene8 NA NA NA
    gene9 NA NA NA
    gene10 NA NA NA

    Il mio compito è quello di inserire le medie delle 3 linee cellulari in home, non sotto forma di numeri ma sotto forma di “none”, “low”, “medium”, o “high” a seconda del loro valore.

    Per far si ho creato 3 vettori che contengono le medie delle linee cellulari, così che vett1 contiene i valori che dovrebbero essere inseriti in tutta la colonna cell1 di home, vett2 contiene i valori per cell2, e vett3 ha i valori per cell3.

    Riuscirei a farlo da sola, ma non capisco quale funzione scrivere per non solo inserire vett1, vett2 e vett3 in home, ma far si che il dataframe aggiornato legga i numeri ma restituisca le parole “none”, “low”, etc.

    Il data frame finale dovrebbe essere così:

    cell1 cell2 cell3
    gene1 high low medium
    gene2 low high low
    gene3 low high medium
    etc

    Spero che le mie spiegazioni abbiano senso :D e grazie mille per eventuali risposte.

    #5369

    pdeninis
    Participant

    Non sono il più adatto a rispondere perché nuovo di R.

    Tuttavia, se ho capito bene quel che intendi, per ottenere lo scopo io proverei così:

    cell1<-vett1
    cell2<-vett2
    cell3<-vett3`

    cell1[cell1 < 5]<- “none”
    cell1[cell1 >= 5 & cell1 < 20]<- “low”
    cell1[cell1 >= 20 & cell1 < 60]<- “medium”
    cell1[cell1 >= 60] <- “high”

    cell2[cell2 < 5]<- “none”
    cell2[cell2 >= 5 & cell2 < 20]<- “low”
    cell2[cell2 >= 20 & cell2 < 60]<- “medium”
    cell2[cell2 >= 60] <- “high”

    cell3[cell3 < 5]<- “none”
    cell3[cell3 >= 5 & cell3 < 20]<- “low”
    cell3[cell3 >= 20 & cell3 < 60]<- “medium”
    cell3[cell3 >= 60] <- “high”

    `

    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    • This reply was modified 9 months, 3 weeks ago by  pdeninis.
    #5377

    pdeninis
    Participant

    Chiedo scusa: modificando ho perso di vista gli apici del tag CODE…

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

You must be logged in to reply to this topic.