Foro de discusión y soporte para usuarios de R

Un foro abierto a todos los temas relacionados con R que quiera.
Nota: Una url estable a este foro es https://knuth.uca.es/R-foro.

Problema con Plots

de jose risueño iranzo -

Hola a Todos, 

He estado creando un plot con el package ggvis pero no consigo que me aparezca. ¿Alguien me podría decir como funcionar con ese package o que tengo que enviar para que me podais alguien ayudar en la creación del mismo?


Es un plot en el cual hay dos variables. Una con dos categorías (1 y 2) y otra numérica ( valores obtenidos de cada categoría). Estas dos variables están medidas en varios periodos de tiempo concretos y me gustaría representarlo de manera que se observen las variaciones de los valores de cada categoría a lo largo del tiempo.


ggvis(PAPP, props(x = ~dates, y = ~porc_pos)) +

  layer_point(props(fill = ~factor(antigen))) +


  

  

PAPP %>% 

ggvis(~dates, ~porc_pos, fill = ~factor(antigen)) %>% 

layer_points() %>% 

group_by(antigen) %>% 

layer_model_predictions(model = "lm")



He intentado hacerlo de estas dos maneras pero nada.


Gracias de antemano y un saludo.

Elaboración de informes con resultados de funciones creadas en R

de Enrique Fueyo Vega -

Estimados todos

No acabo de ver qué opciones existen en R para integrar en un informe, de una manera más menos automática, la información generada en un script de R. ¿Que opciones existen?.

Saludos cordiales

Sys.setlocale

de Daniela A-Osses -

Hola a todos! 

Necesito cambiar la configuración mediante Sys.setlocale. 

Escribo: 

Sys.setlocale(category="LC_ALL", locale = "en.US.ISO-8859-1") 

y me aparece un mensaje de advertencia. "OS reports request to set locale to "en_US.ISO-8859-1" cannot be honored. 

Cuendo le escribo Sys.getlocale(), me aparece esto

[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"

Pero necesito que estén de esta forma:

[1] LC_CTYPE=en_US.ISO-8859-1       LC_NUMERIC=C                  

 [3] LC_TIME=en_US.ISO-8859-1        LC_COLLATE=en_US.ISO-8859-1    

 [5] LC_MONETARY=en_US.ISO-8859-1    LC_MESSAGES=en_US.ISO-8859-1  

 [7] LC_PAPER=en_US.ISO-8859-1       LC_NAME=C                     

 [9] LC_ADDRESS=C                    LC_TELEPHONE=C                

[11] LC_MEASUREMENT=en_US.ISO-8859-1 LC_IDENTIFICATION=C           


Mi R está instalado en windows y la forma a la que lo necesito llevar sale de un linux... será que esto influye? 


Gracias!

Importación de datos de LibreOffice calc. Conversión a fechas

de Enrique Fueyo -

La importación de datos desde un fichero xls, que contiene tres columnas (Fecha, Valor, beneficio), me da como resultado una data frame formado por tres vectores numéricos. Mi problema es que no me importa la fecha como fecha, si no que nos muestra el número que veríamos en la Hoja de Cálculo si convirtiéramos el campo a cantidad (por ejemplo 12/12/2016 = 42716). ¿Qué debo hacer, bien para que me importe esta columna con el formato correcto, bien para convertir los datos importados en fechas?. Agradeceré vuestra ayuda.

Selección en dataframes

de José Parés Pérez -


Necesito ayuda con este problema, por favor.

Dispongo de dos dataframes. El primero de ellos es


head(dhead(b_test3)

user_testId testId userId result partialA partialB partialC partialD partialE partialF partialG controlcontrolDc

46           46         3     19    126       27       26       25       24       24                NULL      NULL              2012-02-09 09:50:48

309         309      3     19    139       32       32       26       25       24                     NULL      NULL        2012-03-01 19:48:10

68           68         3     25    155       36       31       35       28       25                      NULL      NULL        2012-02-10 17:38:52

108         108      3     25    161       37       31       37       33       23                     NULL      NULL        2012-02-12 21:18:18

74           74         3     26    172       33       38       32       40       29                      NULL      NULL        2012-02-10 20:39:23

87           87         3     26    191       38       40       39       40       34                      NULL      NULL        2012-02-11 21:53:50

 Y el seY el segundo

 

head(dhead(db_mindf)

    mindfocusId  user_testId   userId  type         cliks    interval intervalSum intervalSumRegular result ccontrolDc                                                            

23           23              47                19    1                  ……          10654   600034             565631    94   222012-02-09 10:06:17

37           37              78                19    1                  ……          4703      600251             561427    93  2012012-02-10 23:59:22               

40           40              85                19    1                  ……          3778      600222             549593    91   202012-02-11 16:18:52

110         110           225              19    1                ..….           10934   1800031         1553194   86    222012-02-23 22:08:59

121         121           245              19    1                ……          8102      1800028         1569617   87    202012-02-26 00:01:34

124         124           248              19    1                ……          0              0                          12323      0      202012-02-26 21:29:05

150         150            307              19    1              ….. .         6750     1800029          1486017    82   202012-03-01 19:41:25

            160     160     327              19    1               ……          8514     1800018          1699814    94   202012-03-04 10:28:55

   169         169            342            19    1               ……          5544     1800030          1461306    81   202012-03-05 22:05:37

 

Lo que Lo que hay común entre estos dos dataframes es el userId que figura en ambos.

Mi interMi interés es desarrollar un procedimiento de  determinación de la cantidad de veces que apque aparece en db_mindf (el segundo dataframe ) el userId antes de la fecha de la segundsegunda aparición en db_test3 de ese mismo userId .

El caso Como ejemplo, a la vista en este resumen del dataframe: userId 19, su segunda fecha es el 2es el 2012-03-01. El userId 19 aparece 7 veces hasta  esa fecha en el db_mindf.

Espero que se entienda ya que el editor cortó partes laterales y traté de remarcar los bordes perdidos. Lo siento.

José

Trabajo en R con fechas y horas

de José Parés Pérez -

Buen día

Le ruego me den alguna referencia para un principiante como yo, para el trabajo con dataframes en que hay una columna de fecha y hora y que debo usarla para decidir selecciones de las filas del dataframe. Una vez estudiado algo el tema, en caso de problema, plantearé preguntas más concretas.

Gracias

José

Función read.delim('clipboard')

de Enrique Fueyo Vega -

Dear All

Intento obtener utilizando esta función, una tabla cargada en la memoria del ordenador que tiene tres columnas y 1322 filas.

Me da el siguiente error .

> datos.cp <- read.delim('clipboard')
Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on 'clipboard'
> datos.cp
[1] X.
<0 rows> (or 0-length row.names)
¿Existe alguna limitación en cuanto al tamaño de los datos a cargar mediante "clipboard"?.

Si no, ¿cuál puede ser el problema?.

Agradeceré vuestra ayuda.

Saludos cordiales







CONEXION CON BASE DE DATOS POSTGRESQL

de Enrique Muñoz Guerra -

Estimados buenas noches

Favor su apoyo para comentarme como puedo realizar la conexion del lenguaje de programacion R con la base de datos POSTGRESQL. Lo que deseo es poder realizar las transacciones normales desde mi lenguaje de programacion R y estas se guarden en dicha base de datos. Favor de brindar los pasos correspondientes y script necesarios para realizar dicha actividad


Gracias

Enrique Muñoz Guerra

problemas bucle for

de j. carlos sanz ciudad -
Buenas estoy intentado realizar un codigo para depurar un data.frame y obtener unos valores, pero llevo poco tiempo en R y me esta dando problemas,

la tabla(data.frame) es este: se llama FILTRO_BCSS_EXT1




HACER UN FOR QUE ME RECORRA TODAS LAS FILAS, DENTRO UN IF ANIDADO CON VARIAS CONDICCIONES

-QUE ME COMPARE EL VALOR DE LA COLUMNA WB10CP_FILTRO, CON EL VALOR SIGUIENTE Y SINO DIFIERE DE UN MAS MENOS 10% 
-que la columna 4 q_caldera=0
-qure la colunma 5 rpm_main <700

al final  salgan las medias de los valores que cumplan la condiccion, es decir lo cumplen tres valores seguidos pues la media de esos tres y lo guarda en un vector, se sigue haciendo el if y sigue haciendo medias desechando los valores que no cumplen.

al final se tiene un vector con las medias de los valores consecutivos para cada media que cumplan

ESTE ES MI INTENTO, PERO ME DA ERROR AL ANIDAR LOS IF Y LO HE ECHO POR SEPARADO
Y NO SE COMO SE GUARDAN LOS DATOS DEL BUCLE EN UN VECTOR, ADEMAS DE NO SABER COMO PONER LA PRIMERA CONDICCION DEL IF ((dato fila 1 columna 2)-dato fila 2 colmuna2)/dato fila 1 columna2/10).
presiones=c()
  n=nrow(FILTRO_BCSS_EXT1)
 
  contar=0
  for(i in 1:n) {
    if (FILTRO_BCSS_EXT1[i,4]<1)
     
      if(FILTRO_BCSS_EXT1[i,5]<700)
        if (FILTRO_BCSS_EXT1[i,6]<700)
          if (FILTRO_BCSS_EXT1[i,7]<700)
           
           
           
            {
           
     
      print(FILTRO_BCSS_EXT1[i,2])
      contar=contar+1
      presiones=c(presiones,FILTRO_BCSS_EXT1[i,2])
 
    }
   
  }
  contar
  presiones


error al realizar friedman.test

de ines da Rosa Faravelli -

Hola, estoy intentando realizar un test de friedman, friedman.test

Cuando lo hago me dá el siguiente error:

Error in friedman.test.default(perdida$porperdida, perdida$concentracao,  : not an unreplicated complete block design



Son tres variables, una representa a los individuos (perdida$Individuo), otra son varios tratamientos por los que pasan los individuos (perdida$concentracao) y la tercera es la respuesta de los individuos a esos tratamientos (perdida$porperdida). Son siempre los mismos individuos que pasan por esos tratamientos, pero en alguno de los tratamientos no están todos los individuos. Lo que hice fue pasar dos de las variables a factor (perdida$Individuo, perdida$concentracaoya que no las estaba considerando así pero siguió dando el mismo error. Qué podría estar sucediendo?

Aquí parte de los datos: 

perdida

Individuo concentracao porperdida

9 300 -3.887510339

17 300 -4.780701754

23 300 0.05800464

24 300 -1.838610827

26 300 1.329163409

31 300 -3.5639413

32 300 -10.48951049

34 300 -7.201309329

37 300 -7

39 300 -4.451038576

40 300 -5.270863836

41 300 -2.949852507

9 400 -2.443133951

17 400 -5.023819835

23 400 1.717451524

24 400 -7.444852941

26 400 -8.400884304

31 400 -6.695005313

32 400 -13.28671329

34 400 -8

37 400 -10.29411765

39 400 -7.488986784

40 400 -7.90960452

41 400 -8.069164265