Foro de debate

Ayuda con R

Ayuda con R

de Sergio García -
Número de respuestas: 4

Hola, estoy iniciándome en RStudio y tengo que realizar un ejercicio pero ando bastante perdido.

Dispongo de un dataframe de 2 variables: 1 columna de id del paciente y 1 columna de síntomas.

AL hacer un summary me agrupa los síntomas en función del número de veces que se repite. Me gustaría sacar una gráfica de este dato pero no se como hacerlo.

PatientID                Symptom    

 Min.   :   1   Sarcopenia      :4528  

 1st Qu.:2523   Obesity         :3097  

 Median :5035   Muscle_Weakness :1350  

 Mean   :4944   Muscular_Atrophy: 983  

 3rd Qu.:7358   Inflammation    : 815  

 Max.   :9684   Malnutrition    : 753  



                (Other)         :7434  

Alguien podría ayudarme?

En respuesta a Sergio García

Re: Ayuda con R

de David Suárez -

Es muy fácil. Sólo selecciona la columna $Symptom de tu dataframe y usa la función plot. Por ejemplo, si tu dataframe es df, puedes hacer la gráfica usando:

plot(df$Symptom)

Por cierto, el tipo de la otra columna está mal, pues te lo está interpretando como numérico y es más bien categórico. Puedes usar la opción 'colClasses' de la función read.table para corregirlo.


Saludos

En respuesta a David Suárez

Re: Ayuda con R

de Sergio García -

Muchas gracias David por la respuesta.

Voy a plantearte otra duda a ver si me puedes ayudar. En este mismo Dataframe me aparece la tabla con todos los síntomas de cada paciente separados en diferentes filas.

Quiero aplicar el algoritmo Apriori para sacar reglas de asociación y me gustaría que para hacer la comparativa de confianza y soporte me agrupara los síntomas de cada paciente en una misma fila.

Me podrías ayudar? POr ejemplo que para el paciente 3 me saliesen los mismos sintomas en una misma fila por paciente. No sé si me explico. La tabla tiene más de 18000 entradas



PatientID

Symptom

1

1

Obesity

2

2

Pancreatic_Neoplasms

4

3

Abdominal_Obesity

5

3

Pain

6

3

Chronic_Kidney_Failure

7

4

Ecoli_Infections

8

5

Sarcopenia

9

5

Inflammation

10

5

Obesity


En respuesta a Sergio García

Re: Ayuda con R

de Manuel Muñoz Márquez -

Hola:

¿Te sirve esto? ¿O necesitas cada síntoma en una columna?
> d <- data.frame(PatientID=c(1, 2, 3, 3, 3, 4, 5, 5, 2, 2, 3), Symptom=c('Obesity', 'Pancreatic_Neoplasms', 'Abdominal_Obesity', 'Pain', 'Chronic_Kidney_Failure', 'Ecoli_Infections', 'Sarcopenia', 'Inflammation', 'Obesity1', 'Obesity', 'Pancreatic_Neoplasms'), stringsAsFactors=FALSE)
> dd <- data.frame(PatientID=1:5, Symptom=unlist(lapply(1:5, FUN=function(i) paste(d[d$PatientID==i,2], collapse=','))))
> dd
  PatientID                                                            Symptom
1         1                                                            Obesity
2         2                              Pancreatic_Neoplasms,Obesity1,Obesity
3         3 Abdominal_Obesity,Pain,Chronic_Kidney_Failure,Pancreatic_Neoplasms
4         4                                                   Ecoli_Infections
5         5                                            Sarcopenia,Inflammation

Un saludo.

En respuesta a Manuel Muñoz Márquez

Re: Ayuda con R

de lucila paez -

Buenas Tardes 

 

Estoy realizando un ejercicio similar y de igual manera estoy algo perdida, he tenido la situacion de que he querido borrar la base de datos los datos dobles y exportarla pero al momento de ingresar no me los datos adecuadamente, y no me dejar cargar transacciones

 

library(tidyverse) base_sarcopenia <- read_csv(file = “sarcopenia_data.txt”, col_names = TRUE)

– Column specification ————————- cols( PatientID = col_double(), Symptom = col_character() #sarcopenia_limpia <- na.omit(base_sarcopenia) # para eliminar campos vacios #sarcopenia_limpia #write.table(sarcopenia_limpia, file = “sarcopenia_limpia.txt”, col.names = TRUE, row.names =FALSE) # depurar los campos en blanco pero no funciona al momento de exportar library(arules) lectura_datos <- read.transactions(file = “sarcopenia_data.txt”, format = “single”,sep = “,”, header = TRUE,cols = c(“PatientID”, “Symptom”),rm.duplicates = TRUE) lectura_datos #transactions in sparse format with #9430 transactions (rows) and #37 items (columns) inspect(lectura_datos[1:37]) tamanyos <- size(lectura_datos) 

 

pero la base de datos no me queda funcionando bien

y otro favor grande en las reglas de asociacion como puedo definir el soporte

gracias por tu ayuda