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.

Graficar polígonos

de Laura Martinelli -
Buenas!
Tengo los datos de una población y quisiera graficar su polígono de frecuencias absolutas y relativas
¿Existe una función para esto como existe la hist() que grafica el histograma?
Gracias , espero la ayuda que puedan darme.
Saludos,
Laura.

Ordenar columnas de una matriz en base a las columnas de otra matriz

de Maria Dulce Subida -

Hola,

Alguién sabe ordenar las columnas de una matriz B en base a las columnas de otra matriz A, de forma automática?

Ejemplo :

Ordeno por orden creciente las columnas de A y reordeno B con los indices de la A ordenada, para obtener C. Lo que pretendo es una rutina cuyo resultado sea C.

        A

10

20
30 50
50 30
40 10
20 40

        B

a

h
b i
c j
d k
e l

        C

a

k
e h
b j
d l
c i

 Muchas gracias!

 

 

Usar sort.int() dentro de un bucle for()

de Maria Dulce Subida -

Hola,

Tengo una matriz numérica (A) con n columnas y k filas. Quiero construir una rutina que me permita ordenar cada columna de la matriz por separado manteniendo la información sobre el índice original [usando la función sort.int(…,index.return=T)] y que me devuelva una matriz de matrices (B) compuesta por n nuevas matrices, cada una con un numero de k filas y 2 columnas en que la primera columna contenga los valores ordenados y la segunda los índices originales.

Mi primer intento fue:

> B<-matrix(data=NA,0, 0)

> for (i in n) {B[,i]<-sort.int(A[,i], method=c("quick"), index.return=TRUE)}

Pero R me devolvió el siguiente error:

“Error en inherits(x, "factor") : subíndice fuera de los límites”

La cuestión es que no puedo generar la matriz B manualmente porque tengo que aplicar este procedimiento a un gran numero de matrices iniciales (A’s) con dimensiones variables.

¿Tenéis alguna idea de cómo hacerlo?

Muchas gracias!

seleccion de elementos en una matirz

de noelia otero -
Hola,
si tengo un vector o una matriz de bastantes elementos y quiero seleccionar algunos en ocncreto como puedo indicarlo??
por ejemplo, si tengo :
V1 V2
1 1 0.23
2 2 -0.13
3 3 0.10
4 4 0.18
5 5 0.30
6 6 0.04
7 7 -0.13
8 8 -0.07
9 9 0.02
10 10 0.12
11 11 -0.09
12 12 -0.06
13 13 0.02
14 14 0.54
15 15 0.40
16 16 0.35
17 17 0.22
18 18 0.05
.........
203 203 0.04

pero me interesan por ejemplo, el 149 ,137,124...etc(elementos determinados)
como puedo seleccionarlos??
mucahs gracias
saludos

problema con write.table

de noelia otero -
hola, estoy intentado obtener los datos y para ello defino el fichero previamente,la setencia seria:
fichero=paste(dirtres,"/", "correlacion.dat", sep="")

write.table(m2,file=fichero,append=T,col.names=F,row.names=F,sep="")
(esto esta incluido dentro del cuerpo de una funcion)
pero me sale el siguiente error:
1: In cor.test.default(a1$V1, a2$V1, method = "spearman") :
Cannot compute exact p-values with ties
2: In file(file, ifelse(append, "a", "w")) :
no fue posible abrir el archivo '/xutmp/clq/cor/CGCM2/A2/CGCM2/correlacion.dat': No existe el fichero o el directorio

(el 1, se a que es debido)el problema es que no se que significa el error 2, en In file(file..), sabeis por que podría ser??
muchas gracias
saludos

Eliminar Outliers en un Control Chart

de Jessica Martín -

Hola,

He realizado un control chart con la herramienta R usando la función "qcc" de tipo "xbar.one" y aparecen outliers, sabéis si es posible eliminarlos en R? gracias de antemano por vuestra ayuda.

calculo de un sumatorio sin repetir

de Aaron Trujillo Santana -
Buenos dias, tengo una base de datos que esta estructurada por dia-mes-año y otras muchas variables, entre las que quiero destacar el nombre de barcos. Yo quiero calcular el sumatorio de barcos que pesca cada dia,mes y año, pero si repeticiones, es decir un mismo barco puede aparecer repetido(2,3 o mas veces) por dia,mes y año, pues mi intension es que en el sumatorio me considere que solo ha salido una ves. Para intentar clarificar más mi duda escribo un pequeño ejemplo: nombre del fichero:dat
año mes dia especie captura barco
2001 3 16 SKJ 50 Juan
2001 3 16 BFT 20 Juan
2001 3 16 ALB 20 Pepe
2001 3 16 SKJ 60 Maria
2001 3 16 SKJ 75 Pepe
2001 3 16 BFT 30 Maria

bien para realizar la accion que les comente yo use la siguiente sentencia
nbar=aggregate(dat$barco,by=list(año=dat$año,mes=dat$mes,dia=dat$dia),"length")
esto da como resultado lo siguiente:
año mes dia x
2001 3 16 6
cuando el resultado que necesito seria:
año mes dia x
2001 3 16 3
ya que realmente son 3 barcos los que salen aun que se repintan.
bueno espero que alguien me pueda ayudar y haber sido lo suficientemente claro para facilitar la ayuda.
MUCHAS GRACIAS

datos de fecha

de Aaron Trujillo Santana -
buenos dias. tengo un fichero excel con datos de fecha en este formato "02-07-03"(dia-mes-año)y al leerlo con el R me los lee como un numero entero y no como una fecha como puedo cambiar esto. creo k tiene algo de relacion con numero julianos o gregorianos.GRACIAS

Control Chart

de Jessica Martín -
Hola, necesitaría realizar un control chart donde los límites de control varías semanalmente, es decir, en el gráfico no aparecerán en linea recta, sino escalados. Sabéis si esto es posible en R?

numeros decimales

de noelia otero -
Hola!
mi pregunta es:
si tengo una serie de valores que he obtenido, pero con muchas cifras decimales:
"001" "0.0242869929482919"
"002" "0.0737394479371891"
"003" "0.0434492021752207"
"004" "0.0388728088590039"
"005" "-0.136957441656868"
"006" "0.315437432862518"
"007" "0.0414762084176297"
"008" "-0.108574634480281"
"009" "0.00712853659924271"
......
si solo quiero coger 2 cifras decimales como puedo hacerlo??
he probado con una opcion(digids)pero no me deja...si alguien me puede dar una idea!
muchas gracias
saludos