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.

Conjuntos activos Rcmdr

de Laura Compañ -

Buenas tardes, 

Desde hace no mucho estoy impartiendo docencia en análisis de datos con Rcmdr y algunos de mis estudiantes se están encontrando con un problema que no sé resolver. 

Resulta que cada vez que abren Rcmdr y cargan o importan una base de datos, se les carga ese conjunto activo así como todas las bases que ya hemos usado alguna vez. Leyendo este foro y otros que he encontrado, creo que lo que pasa es que que han ido guardando las bases y directorio de trabajo cada vez que han cerrado el programa. 

Hemos intentado borrar los archivos .RDta de los directorios como comentaban en foros, pero el problema persiste. No les impide usar Rcmdr ni R, pero es cierto que es incómodo. 

Por favor, ¿sabríais darme alguna otra solución?

 

Muchas gracias de antemano,

Laura

Lectura y escritura excel

de Belén Cillero -

in2_wb <- loadWorkbook("bb.xlsx")
data2 <- readWorksheet(in2_wb, sheet="Sheet1", header = FALSE, startRow = 1, startCol = 1, endRow = 9, endCol = 8)

Buenos días

  1. Yo antes con la librería XLConnect utilizaba el siguiente código para, sobre todo, escribir en un libro excel que yo publicaba en la web y me colocaba la información donde yo le decía, como el siguiente ejemplo:

out_wb <- loadWorkbook("resultado.xlsx")
writeWorksheet(out_wb, data1, sheet = "dos_primeros", header = FALSE, startRow = 1, startCol = 1)
writeWorksheet(out_wb, data2, sheet = "dos_primeros", header = FALSE, startRow = 10, startCol = 1)
saveWorkbook(out_wb)

 

Hace tiempo que no me funciona dicha librería, no sé si hay otra u otra función que me haga lo mismo, porque la forma más rápida que tengo de actualizar los excel, es exportando a csv y pegar en el libro, pero esto no me hace ágil.

 

Muchas gracias 

 

anova pairwise con fechas

de Pere Sabio -

Buenas, estoy intentado hacer una comparación anova con fechas de avistamientos de varias especies. El punto es saber que especies tienen fechas de avistamiento estadisticamente diferentes o no. 

He cargado un archivo tal que así: 

Fecha Sp
13/03/2022 Sc
13/03/2022 Sc
28/03/2022 Sc
28/03/2022 Sc
28/03/2022 Tt
28/03/2022 Tt

 

Y usando este codigo:


panov<- aov(Fecha ~ Sp, data = CetDates)
TukeyHSD(panov)

y esto me da este error : 

Error in as.POSIXct.numeric(e) : 'origin' must be supplied

 

Se que con fechas es dificil, y he intentado poner este "origin" pero no se resuelve bien. Tambien haciendo este anova pero cambiando las fechas a intervalos de 1 o 2 semanas (quedando con numero enteros 1, 2 ,3, etc.) y pasado estos numeros a "factor", pero haciendolo directamente con las fechas, si es posible, seria mucho mejor.

Sabes como puedo resolver este error correctamente? Ya que como lo hago no sirve. O si hay alguna otra opcion para hacer este proceso?

Muchas gracias.

 

 

por que no me guarda valores, me sale null y na?? alguna idea , que hago mal aqui .

de Malvis Valenzuela -

set.seed(12345)
simulation <- function(TC,QOT,WT,A,CV,TOTruck){
#Initialization
t_collected <- 0
t_notcollected <- 0
t_recolection <- 0
tgoinglandfill<- 0
treturningblock<- 0
totalWT<- WT[1]
WremainigT<-0
AcumulatedWT<-0
AcumulatedTrashTones<-0

TotalCT <- TC[1]*(QOT)
TontrashB <- rnorm(A,CV[2],CV[1])
AvailableCT <- TotalCT -t_collected

i=1
for (i in 1:length(TontrashB[i+1])){
if(AvailableCT[i] > 0 ){
if(TontrashB[i]<= AvailableCT[i]){
if(WremainigT[i]< totalWT[i])
t_collected[i+1]<-TontrashB[i]
t_notcollected[i+1]<- 0
AvailableCT[i+1]<- AvailableCT[i+1]-t_collected[i+1]
AcumulatedTrashTones[i]<-cumsum(t_notcollected[i])
#Tiempo
t_recolection [i] <- rnorm( 1,TOTruck[1],TOTruck[2])
}else {
t_collected[i+1] <- AvailableCT[i]
t_notcollected[i+1]<- TontrashB [i]-AvailableCT[i]
AvailableCT[i+1]<- AvailableCT[i]-t_collected[i]
#Result[i,4]<- ton_garbage[i]-Result[i,2]
AcumulatedTrashTones[i]<-cumsum(t_notcollected[i])
#Result[i,6]<-sum(c_truck)
t_recolection [i+1] <- rnorm( 1,TOTruck[1],TOTruck[2])
tgoinglandfill[i+1] <- rnorm( 1,TOTruck[1],TOTruck[2])
treturningblock[i+1] <- rnorm( 1,TOTruck[1],TOTruck[2])

}
#t_journey[i] <- rnorm(n = 1,1,0.5)
#tiempo<-(t_recolection[i])
AcumulatedWT[i]<-sum(c(tgoinglandfill,treturningblock,t_recolection ))
WremainigT[i]<-totalWT[i] -AcumulatedWT[i]
AcumulatedTrashTones[i]<-AcumulatedTrashTones[i+1]


#tiemp<-cumsum(c(t_recolection,t_journey))
#Result[i,7]<-tiemp[3]
#Result[i,8]<-Result[i,7]+tiemp[3]
}
AvailableCT [i+1]<-AvailableCT [i]

t_recolection[i]<-is.na(t_recolection) + is.na(t_recolection[i])#[3]
AcumulatedWT[i]<-sum(c(tgoinglandfill,treturningblock,t_recolection))

list(t_collected=round(t_collected,2),
t_notcollected=round(t_notcollected,2))
}
}
x <- replicate(10,{
y <- simulation( TC=10,
QOT=1,
WT=8,
A=24,
CV=c(1,4),
TOTruck=c(4,2))

c(y$t_collected,y$t_notcollected,y$totalWT,
y$t_recolection,y$treturninglandfill)
})

 

x1 <- data.frame(t(x))
colnames(x1) <- c("T_collected","t_notcollected","Totalworkingtime",
"recollectiontime")

 

T_collected t_notcollected Totalworkingtime
1 NULL NULL NULL
recollectiontime NA NA NA NA NA NA
1 NULL NULL NULL NULL NULL NULL NULL
>

Error en R, o eso aparenta

de Manuela Ortiz -

Buenos dias a todos:

Me uni a este foro para encontar ayuda sobre una problematica que no se si tenia antes y creo que se dio a reinstalar R y aunque haya borrado los archivos anteriores para que fuera ocupada la nueva biblioteca esto persiste.

Se trata de lo siguiente, esto se da despues de ejecutar library(Rcmdr):

Attaching package: 'Rcmdr'

The following object is masked from 'package:base':

errorCondition

Ademas note que cuando realizaba una grafica en el R tambien aparecia lo siguiente:

Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") :
[tcl] invalid command name ".19.1".

Espero me puedan ayudar o al menos informarme si eso es normal (y me estoy preocupando sin necesidad)

MUCHAS GRACIAS

hola , gracias por las respuestas anteriores aqui tengo otra pregunta.

de Malvis Valenzuela -

set.seed(1234) c_truck=10 hours=8 ton_garbage=rnorm(1:5,10,5)

 3.964671 11.387146 15.422206 -1.728489 12.145623

 

me genera estos numeros donde la #4 me da -1.72 , como hacer para que no me de numero negativo?

 

 

Gracias. 

Referencias cruzadas en Bookdown

de Valen Terés Terés -

Buenas tardes:

 

Saludos a todos en mi primera incursión en el foro.

 

Hasta donde he podido ver, Bookdown permite hacer referencia a títulos, figuras, ecuaciones, tablas, etc.

 

No he sido capaz de encontrar la forma de hacer referencia a un párrafo del texto o a un número de una lista numerada.

 

Muchas gracias.

Simulacion en R

de Malvis Valenzuela -

 

Hola tengo este pequeno programa pero tengo que hacer que los camiones vayan en distintas direcciones y no se como hacerlo alguien que ayude o me dirija para continuar haciendo el programa . Mi correo es, los comentarios son bienvenidos.  Es un programa que debe hacer una recollecion de materiales en un area determinada , donde la demanda es aleatoria y la capacidad del camion y la cantidad de camiones , las toneladas y las horas son los parametros de cambio . 

Muchas Gracias .

simulation <- function(n_trucks,capacity,trash_tons,hours){


# capacity of the truck
c_truck <- runif(n_trucks,capacity[1],capacity[2])
# trash of the block
ton_garbage <- rnorm(1,trash_tons[1],trash_tons[2])
# travel number
travelnumber <- ceiling(ton_garbage/sum(c_truck))
t_recolection <- 0
t_going_l <- 0
t_returning<- 0
for (i in 1:travelnumber) {
t_recolection[i] <- rnorm(n = 1,1,0.5)
t_going_l[i] <- rnorm(n = 1,1,0.05)
t_returning[i] <- rnorm(n = 1,1,0.05)
x <- cumsum(c(t_recolection,t_going_l,t_returning))
if (x[i*3]>=hours)break

}

(Editado por Manuel Muñoz Márquez - envío original sábado, 30 de julio de 2022, 06:57)