Giter Club home page Giter Club logo

isorix's Introduction

Alex's GitHub Den

I am Alexandre Courtiol, a quantitative wildlife biologist based at IZW Berlin.

For info on my research group, check out www.datazoogang.de

This page is motivated by the fact that most people using GitHub (including me) fail to organise their repositories using a coherent hierarchical system.

Instead all the repos lay at the root, forming a growing mess.

I have thus created this page as a guide to my GitHub den: it indicates what to find where.

I have also included a few repos to which I contributed and which are not stored under my personal GitHub account.

I did this for myself, but perhaps it can be useful for others too (if only as an inspiration).

R packages maintained by me released on CRAN

  • IsoriX & IsoriX_project: isoscape computation and inference of spatial origins using mixed models
  • lay: a simple and efficient implementation of rowwise jobs
  • timevarcorr: computes how the correlation between 2 time-series changes over time

R packages maintained by me but not released on CRAN

  • coronaR & excess_mortality_COVID19: workflow to monitor COVID progress (probably no longer working)
  • dfuzz: to tidy columns of strings (experimental)
  • hyenaR: to wrangle the data from the Ngorongoro Hyena Project (private)
  • inferpref: to infer preferences from mating patterns (private)
  • manyfold: to explore data by folding columns (experimental)
  • packtrack: to monitor use of packages (experimental)

R packages or alternative material reproducing analyses/results of some of my scientific papers

  • accipiteR: for a paper about how Northern goshawks cope with the urban environment
  • gallbladdeR: for a paper about the evolution of gallbladders (private)
  • isoMM: for a paper in prep about isoscapes and mixed models (private)
  • mallaRd: for a paper about the breeding behaviour of mallards in Berlin
  • matingRhinos: for a paper about mate choice and mating success in white rhinos
  • mammalianMI: for a paper about how to quantify maternal investment in mammals
  • rangeRinPA & rangeRinPA_private: for a paper on the number of rangers working in natural protected areas
  • seeadleR_private: for an upcoming paper on the changes in distribution of White-tailed Sea Eagles in Germany
  • SileR: for a paper about survivorship on Asian elephants
  • twinR & twinR-private: for a paper about the relation between twinning rates and fertility in humans
  • vullioud2018: for a paper on dominance in spotted hyenas
  • winteR & winteR_old_private: for a paper on bat hibernation and climate change

R packages maintained by others to which I contributed

Please refer to the original repos to know more about these packages.

Note that I also contributed to other packages not hosted by GitHub (e.g. spaMM).

Debugging material for reporting or fixing issues, or drafting new features

Experimental largely unfinished projects that are not R packages

  • choosiness: an individual based model to study choosiness built (old project with Robert Schwieger)
  • mating_pattern: an algorithm to infer mating preferences (old project with Robert Schwieger)
  • IUCN: an attempt to parse IUCN data (for a group project with students of the Freie University, Berlin)
  • IsoriX_hexsticker: an attempt at creating an hexsticker for IsoriX (private fork)
  • Vullioud_PhD: old material from Colin Vullioud

Teaching material

Consulting work

Miscellaneous

  • awesome-ukraine-support: useful links for ukrainians (fork)
  • courtiol: the repo to modify the page you are reading right now
  • drat: to provide some R packages
  • DZG_website: the website for my group (made with R)
  • judsound: to build an alarm clock & music player with a raspberry pie
  • todo: an attempt at creating a todo list for everything in life (private)

isorix's People

Contributors

courtiol avatar dmurdoch avatar rohwaeder avatar stephkramer avatar vullioud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

isorix's Issues

Revise function names?

Shall we change the name of the functions?
Having IsoriX (the package), Isorix (the function) and isorix (the class) may be confusing...
Also using capitals is prone to misuse.
Any suggestions?

LaTeX doc to polish

On the pdf built by CRAN we have few text overlap with the margin. We need to check that and correct it using hard returns (\cr).

Sphere 3D

I looked at how one could make nice 3D geospheres in R using rgl.
The following site does not tell the details but the results are stunning, so I really want to add this possibility in the package at some point :-)

link1
link2

It is not that difficult once one has the png of the entire map, I am struggling however to extract the central part of the lattice plots (i.e. the map itself, without the axes, keys, margins...). I want the area selected by trellis.focus()...

Once this will be solved, then the following works:

library(rgl)
map <- rgl.spheres(0, texture="map.png", lit=FALSE)
## for gif movie
movie3d(spin3d(axis = c(0, 1, 0), rpm=2), duration = 30, dir = getwd())

print.calibfit

The equation plotted by this method is almost certainly wrong...

Keith's dataset

Prepare Keith's dataset and run the workflow on it.
Check details with Stefi.

use external calibration

We need to create an alternative to fitting the calibration model in IsoriX, as calibration function are often recycled from published work. People can provide intercept, slope and residual variance.

viridisLite

We have to clarify why not having viridisLite installed on the system sometimes create problems.
We are not using viridisLite but we have recursive dependency to it through rasterVis.

Title for plots

The presence/absence of titles on assignment plots is not self consistent.
For group, there is one, for a single individuals none, for several individuals there is.
We should add an argument for the titles to override such defaults.
We may want to change defaults as well...

Mask border color

Add an extra argument in plot to control the border of the mask that is currently wide and black (visible when oceans are not black)

queryGNIP

The month.min and month.max argument do not make much sense at the light of the new approach to fit multiple pairs of models, as one could want just January and August. It would be easier to have a single argument taking a vector of month:
month = 1:12 ## for all
month = c(1, 8) ## for January and August
Let's not forget to remove the Note of the Rmd.

Roxygen everything

It would be good to move all the help content into the R code using Roxygen.
I quite like the namespace as it is, but I don't know if we can keep it with Roxygen.

GetElev

When the path is not given, the function forget the final "/" so the generated path does not work.
A possible fix should be to change: paste(path, filename, sep = "") by paste(path, filename, sep = "/")
But since user may give path with final "/" or not and even use "" we should be this function much more robust!

Function to combine assignments

We need a way to combine the assignments performed on different isotopes but on the same individuals.
Maybe Fisher's method with weights...

Map projections

It would be nice to be able to handle the projection inside the package.

Add timer for Calibfit

To be consistent with other functions we should time the calibration and display it once run is done.

Define and write coding style guide

I have not been perfectly consistent on the coding style.
I will improve this soon and document the coding style people should follow for this project.

test spaMM devel

A new version of spaMM will be released soon, we must test the new version of the package with it.

vignette exportGIS badly exported...

For some reason the new vignette shows up in CRAN but not in browseVignettes(package='IsoriX')...
I have not yet looked at why this is the case.

move part of onAttach to onLoad

I have put all I wanted in onAttach, but this seems to be bad practice:
"Use .onAttach only for actions that are needed only when the package becomes visible to the user (for example a start-up message) or need to be run after the package environment has been created." for ?.onAttach

AnimalID

Change column header in assignment data and make sure ID with spaces work (also check the calibration data and source data). Right now it does not.

GetElev

The GetElev function uses download.file() and the default method in this function seems to lead to corrupted files on some computers.

  • Implementing a checksum test seems the way to go.
  • It seems that constraining mode="wb" solved the issue. So we should add an argument mode or method and make "wb" the default setting in GetElev.
  • As some individuals have trouble to access to internet, also add optional display using options(internet.info = 0), which provides nice information about connection to internet and shows proxy trials!

Detach

The package does not detach properly, due to the distance method:

library(IsoriX)
detach(package:IsoriX)
library(IsoriX)
## Error : .onAttach failed in attachNamespace() for 'IsoriX', details:
##  call: f(...)
##  error: Entry “Earth” already in registry.
## Error: package or namespace load failed for ‘IsoriX’

group assignment

add a column (name: groupID) in assigndata for the group assignments. At the moment this is based on lat/long, or if that is not given then all are taken. But it would be great to easily test different groupings, e.g. per species group that one can define, or animals found at the same time......

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.