Visualizzazione post con etichetta R. Mostra tutti i post
Visualizzazione post con etichetta R. Mostra tutti i post

mercoledì 23 agosto 2023

Installare R packages in docker

A causa di una applicazione legacy dovevo dovevo usare R ver 3 che non eà compatibile con R ver 4 (era esclusa la riscittura del codice) 




Dopo un po' di tentativi la strada piu' lineare e' stata quella di creare un container con il seguente Dockerfile che installa anche tutti i packages delle dipendenze

FROM rstudio/r-base:3.6-bookworm
RUN apt-get -y update
RUN apt-get -y install gdal-bin libgdal-dev libpng-dev libudunits2-dev libfontconfig1-dev libmagick++-dev
RUN curl -O "https://cran.r-project.org/src/contrib/Archive/randomForest/randomForest_4.6-10.tar.gz"

#setup R configs
RUN echo "r <- getOption('repos'); r['CRAN'] <- 'http://cran.us.r-project.org'; options(repos = r);" > ~/.Rprofile
RUN Rscript -e "install.packages('zoo')"
RUN Rscript -e "install.packages('leaflet')"
RUN Rscript -e "install.packages('sf')"
RUN Rscript -e "install.packages('leafpop')"
RUN Rscript -e "install.packages('forecast')"
RUN Rscript -e "install.packages('stringr')"
RUN Rscript -e "install.packages('lubridate')"
RUN Rscript -e "install.packages('randomForest_4.6-10.tar.gz', repos = NULL, type='source')"
RUN Rscript -e "install.packages('rpart')"
RUN Rscript -e "install.packages('e1071')"
RUN Rscript -e "install.packages('kknn')"
RUN Rscript -e "install.packages('jpeg')"
RUN Rscript -e "install.packages('data.table')"
RUN Rscript -e "install.packages('tidyr')"
RUN Rscript -e "install.packages('magick')"
RUN Rscript -e "install.packages('leaflet.extras')"
RUN Rscript -e "install.packages('leafem')"
RUN Rscript -e "install.packages('raster')"

docker build -t nome_docker .


Per usare il container

docker run --rm -it -v /home/luca:/mnt nome_docker bash

(se si omette bash entra direttamente nel prompt di R)



venerdì 17 febbraio 2023

Primi passi con R PCA

Si parte da un file CSV in cui le colonne sono le variabili (in questo caso dati analitici) 

La prima riga e' di intestazione, separatore punto e virgola, punto decimake

====================================================

Punto;As;Co;Hg
Pz3A;26.4;13.4;0.206
Pz3B;41.9;17.7;0.281
Pz4;8.2;6.05;1.13
Pz5A;21.5;18.6;0.281
Pz5B;20.1;18.2;0.235
Pz6;5.8;20.4;0.138
Pz7A;6.8;23.2;0.082
Pz7B;7.4;24;0.090
Pz8A;16.8;21.8;0.325
Pz8B;12.4;22.2;0.279
Pz9A;46.9;30.2;0.71
Pz9B;20.0;21.6;0.319
Pz10A;29.3;9.4;1.03
Pz10B;18.5;56.1;0.45
Pz11A;63;12.7;0.210
Pz12;32.1;3.53;0.0298
Pz13A;18.2;31.1;0.75
Pz13B;14.8;29.1;0.200
Pz14A;9.5;28.6;0.043
Pz14B;9.2;32.6;0.045

====================================================

Per elaborare i dati con PCA vengono caricate le librerie FactoMineR e factoextra

Per leggere il file CSV si deve specificare il separatore decimale

Si deve anche indicare che la prima colonna e' un dato qualitativo (da escludere dal calcolo), le dimensioni della PCA pari a 3,




 

====================================================

install.packages("FactoMineR")
install.packages("factoextra")

library("FactoMineR")
library("factoextra")
data_res <- read.csv2("c:/Users/l.innocenti/Desktop/arsenico/arsenico.csv",dec=".")
data_res.pca <- PCA(data,scale.unit = TRUE,ncp=3,graph = TRUE,quali.sup=1)
data_res.pca
eig.val <- get_eigenvalue(data_res.pca)
fviz_eig(data_res.pca,addlabels = TRUE)
fviz_pca_var(data_res.pca)
var <-get_pca_var(data_res.pca)
library(corrplot)
corrplot(var$cos2,is.corr = FALSE)
fviz_pca_ind(data_res.pca)

giovedì 27 dicembre 2012

R e Proxy Server

Questo post esce un po' dai soliti argomenti...
Per motivi di lavoro mi sono trovato a dover effettuare una analisi geostatistica su un set di dati ed ho impiegato R. Nella installazione di default di R la libreria gstat non e' compresa e quindi deve essere scaricata  come modulo aggiuntivo...peccato che la rete lavorativa e' dietro ad un proxy server

per poterlo attraversare (la soluzione e' per Windows) si deve avviare dalla riga di comando R con il comando RGui seguito dalle impostazioni del proxy
rgui http_proxy=http://mioproxy:8080







nel caso di Linux R riconosce la variabile di ambiente HTTP_PROXY e se impostata la utilizza per cui non e' necessario aggiungere alcun parametro alla riga di lancio


Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...