GithubHelp home page GithubHelp logo

femiguez / nlraa Goto Github PK

View Code? Open in Web Editor NEW
22.0 3.0 2.0 6.66 MB

Nonlinear Regression for Agricultural Applications

Home Page: https://femiguez.github.io/nlraa-docs/index.html

R 100.00%
nonlinear-regression nonlinear-mixed-models agricultural ecology r

nlraa's Introduction

nlraa: R package for Nonlinear Regression for Agricultural

Applications

CRAN CRAN downloads total CRAN downloads

Documentation

NOTE: the vignettes (nlraa-Oddi-LFMC and nlraa-AgronJ-paper) that used to be distributed with the package have been moved to the documentation above because of CRAN size limits.

Nonlinear Models (video) - part I

Nonlinear Models (video) - part II

Nonlinear Models (video) - part III

To install

library(remotes)
remotes::install_github("femiguez/nlraa")
library(nlraa)

This package supports the following publications:

  1. Archontoulis, S. V., and F. E. Miguez. 2015. Nonlinear Regression Models and Applications in Agricultural Research. Agron. J. 107:786-798.
    https://doi.org/10.2134/agronj2012.0506

  2. Miguez, F., S. Archontoulis, H. Dokoohaki 2018. Chapter 15: Nonlinear Regression Models and Applications. In: B. Glaz, K. M. Yeater, editors, Applied Statistics in Agricultural, Biological, and Environmental Sciences, ASA, CSSA, and SSSA, Madison, WI. p. 401-448.
    https://doi.org/10.2134/appliedstatistics.2016.0003

  3. Oddi et. al. (2019). A nonlinear mixed-effects modelling approach for ecological data: Using temporal dynamics of vegetation moisture as an example. Ecology and Evolution.
    https://doi.org/10.1002/ece3.5543

Some recent publications that cite this package (updated 2023-12-31):

50. Moisture and nutrient management for sustainable dryland sunflower production. Loza et al. 2023. https://doi.org/10.21203/rs.3.rs-3697663/v1

49. Nitrogen fertilizer and pronitridine rates for corn production in the Midwest U.S. Kaur et al. 2023. https://doi.org/10.1016/j.fcr.2023.109200

48. The changing landscape of paddy cultivation in Andhra Pradesh: A statistical assessment of area, production, and productivity. https://dx.doi.org/10.22271/maths.2023.v8.i6Sc.1373

47. Assessment of Tissue Phosphorus Concentrations and Diagnostic Tools for Phosphorus Nutrition in Corn. Roa and Ruiz Diaz. 2023.

46. A New Scenario Framework for Equitable and Climate-Compatible Futures. Ranjan et al. 2023

45. Microbial race to colonise leaf litter in a littoral-lake environment and its relation to nutrient dynamics. Madaschi et al. 2023. https://doi.org/10.1111/fwb.14173

44. Enhancing Our Understanding of Optimal Nitrogen Fertilizer Rates for Maize: A Synthesis of Long-Term Experimentation and Crop Modeling. Baum. PhD Thesis. 2023.

43. Spatial Applications for Improved Nutrient and Agronomic Management in Minnesota Cropping Systems. Nigon, Leanna. PhD Thesis. 2023.

42. Genetic improvement of winter wheat (Triticum aestivum L.) grain yield in the Northern Great Plains of North America, 1959–2021, Boehm et al. 2023. https://doi.org/10.1002/csc2.21065

41. Background matching through fast and reversible melanin-based pigmentation plasticity in tadpoles comes with morphological and antioxidant changes. Liedtke et al. 2023. https://doi.org/10.1038/s41598-023-39107-4

40. Determining cardinal temperatures for eight cover crop species. Pessotto et al. 2023. https://doi.org/10.1002/agg2.20393

39. Maximizing winter wheat yield through planting date and seeding rate management. Copeland et al. 2023. https://doi.org/10.1002/cft2.20240

38. Accelerated leaf appearance and flowering in maize after four decades of commercial breeding. dos Santos et al. 2023. https://doi.org/10.1002/csc2.21044

37. Irrigated corn grain yield prediction in Florida using active sensors and plant height. Leitao et al. 2023. https://doi.org/10.1016/j.atech.2023.100276

36. Patterns of regional site index across a North American boreal forest gradient. Montesano et al. 2023. https://doi.org/10.1088/1748-9326/acdcab

35. Methods for Improving Potassium Fertilizer Recommendations for Corn in South Dakota. Andrew j. Ahlersmeyer. MS Thesis. 2023

34. Hemp yield and cannabinoid concentrations under variable nitrogen and potassium fertilizer rates. James et al. 2023. https://doi.org/10.1002/csc2.20966

33. nlive: an R Package to facilitate the application of the sigmoidal and random change point mixed models. Capuano and Wagner. https://arxiv.org/pdf/2302.10836.pdf

32. The Effect of Harvest Date on Temporal Cannabinoid and Biomass Production in the Floral Hemp (Cannabis sativa L.) Cultivars BaOx and Cherry Wine. Linder et al. 2022. . https://doi.org/10.3390/horticulturae8100959

31. Establishing Transplant Date, Plant Spacing and Harvest Date Recommendations for Floral Hemp Production. Eric Linder. MS Thesis. 2022.

30. Estimating optimal sampling area for monitoring tropical forest restoration. Londe et al. (2022). Biological Conservation. https://doi.org/10.1016/j.biocon.2022.109532

29. Establishment, Growth, and Morphology of Miscanthus× Giganteus in Farmed Ephemeral Wetlands. Alex Steiner. MS Thesis. 2021.

28. Anything but Simple: Using Models and Field Studies to Explore the Effects of Cropping System Diversification in the Upper Midwestern United States. Virginia Nichols. PhD Thesis. 2021.

27. Love under lockdown: How changes in time with partner impacted stress and relationship outcomes during the COVID-19 pandemic. https://doi.org/10.1177/02654075231162599

26. Mitchell E. Baum, John E. Sawyer, Emerson D. Nafziger, Isaiah Huber, Peter J. Thorburn, Michael J. Castellano, Sotirios V. Archontoulis. Evaluating and improving APSIM's capacity in simulating long-term corn yield response to nitrogen in continuous- and rotated-corn systems, Agricultural Systems, Volume 207, 2023, https://doi.org/10.1016/j.agsy.2023.103629.

25. Physical Modes of Action of Fungicides Against Apple Scab: Timing is Everything, but Dose Matters Vincent Philion, Valentin Joubert, Marc Trapman, and Arne Stensvand. Published Online:23 Feb 2023https://doi.org/10.1094/PDIS-11-22-2758-RE

24. Song, S., Ding, Y., Li, W. et al. Mangrove reforestation provides greater blue carbon benefit than afforestation for mitigating global climate change. Nat Commun 14, 756 (2023). https://doi.org/10.1038/s41467-023-36477-1

23. Bonansea, S.; Ernst, O.R.; Mazzilli, S.R. Baseline for Brassica carinata Components of Nitrogen-Use Efficiency in Southern South America. Agronomy 2023, 13, 412. https://doi.org/10.3390/agronomy13020412

22. Gonzalo Carracelas, Nicolas Guilpart, Kenneth G. Cassman, Patricio Grassini, Distinguishing between yield plateaus and yield ceilings: A case study of rice in Uruguay, Field Crops Research, https://doi.org/10.1016/j.fcr.2023.108808.

21. McMaster ES, Chen SH, Yap J-YS, Rossetto M (2022) Conservation genomics of Persoonia hirsuta support of management. Research Centre for Ecosystem Resilience, Royal Botanic Garden Sydney.

20. Alejo Ruiz, Sotirios V. Archontoulis, Lucas Borrás, Kernel weight relevance in maize grain yield response to nitrogen fertilization, Field Crops Research, Volume 286, 2022, 108631, https://doi.org/10.1016/j.fcr.2022.108631.

19. Miguez, F. E., & Poffenbarger, H. (2022). How can we estimate optimum fertilizer rates with accuracy and precision? Agricultural & Environmental Letters, 7, e20075. https://doi.org/10.1002/ael2.20075

18. Pearce, A.W., Slaton, N.A., Lyons, S.E., Bolster, C.H., Bruulsema, T.W., Grove, J.H., Jones, J.D., McGrath, J.M., Miguez, F.E., Nelson, N.O., Osmond, D.L., Parvej, M.R., Pena-Yewtukhiw, E.M. and Spargo, J.T. (2022), Defining relative yield for soil test correlation and calibration trials in the fertilizer recommendation support tool. Soil Sci. Soc. Am. J.. Accepted Author Manuscript. https://doi.org/10.1002/saj2.20450

17. Rebecca L. Atkins, Kathleen M. Clancy, William T. Ellis, and Craig W. Osenberg. Thermal Traits Vary with Mass and across Populations of the Marsh Periwinkle, Littoraria irrorata. The Biological Bulletin. 2022. https://doi.org/10.1086/719850

16. Guamani-Quimis, Lenin A., Ariolfo L. Solís-Bowen, Diego Portalanza, and Felipe R. Garcés-Fiallos. 2022. Can Mathematical Models Describe Spear Rot Progress in Oil Palm Trees? A Five-Year Black Weevil-Disease Assessment from Ecuador. Agriculture 12, no. 2: 257. https://doi.org/10.3390/agriculture12020257

15. Nichols, V. A., Moore, E. B., Gailans, S., Kaspar, T. C., & Liebman, M. (2022). Site-specific effects of winter cover crops on soil water storage. Agrosyst Geosci Environ, 5:e220238. https://doi.org/10.1002/agg2.20238

14. Positive associations of soil organic matter and crop yields across a regional network of working farms. Emily E. Oldfield, Mark A. Bradford, Abigail J. Augarten, Eric T. Cooley, Amber M. Radatz, Timothy Radatz, Matthew D. Ruark. Soil Science Society of America. 2021. https://doi.org/10.1002/saj2.20349

13. Improvement of the Mass-Rearing Protocols for the South American Fruit Fly for Application of the Sterile Insect Technique. Mastrangelo et al. Insects 2021, 12(7), 622; https://doi.org/10.3390/insects12070622

12. High-yielding sugarcane in tropical Brazil – Integrating field experimentation and modelling approach for assessing variety performances. Henrique Boriolo Dias, Geoff Inman-Bamber, Paulo Cesar Sentelhas, Yvette Everingham, Rodrigo Bermejo, Diomedes Christodoulou. Field Crops Research. 2021. https://doi.org/10.1016/j.fcr.2021.108323.

11. Evaluation of mehlich-3 for determination of cation exchange capacity in Kansas soils. Edmond Bryan Rutter, Dorivar Ruiz Diaz,Lynn M. Hargrave. 2021. Soil Science Society of America. https://doi.org/10.1002/saj2.20354

10. Effects of human disturbance on postnatal growth and baseline corticosterone in a long-lived bird. Hannah Watson, Pat Monaghan, Britt J Heidinger, Mark Bolton. Conservation Physiology, Volume 9, Issue 1, 2021. https://doi.org/10.1093/conphys/coab052

9. The use of R in photosynthesis research. Yasi Liu, Xiangping Wang, Dayong Fan and Jiangshan Lai. Functional Plant Biology 1-8 https://doi.org/10.1071/FP21102

8. Topographic effects on soil microclimate and surface cover crop residue decomposition in rolling cropland. Sam J. Leuthold, Dan Quinn, Fernando Miguez, Ole Wendroth, Monsterrat Salmerón, Hanna Poffenbarger. Agriculture, Ecosystems & Environment, Volume 320, 2021. https://doi.org/10.1016/j.agee.2021.107609.

7. Long-term no-till increases soil nitrogen mineralization but does not affect optimal corn nitrogen fertilization practices relative to inversion tillage. Lucas Pecci Canisares, John Grove, Fernando Miguez and Hanna Poffenbarger. Soil and Tillage Research. Volume 213. 2021. 105080. https://doi.org/10.1016/j.still.2021.105080.

6. Rotating maize reduces the risk and rate of nitrate leaching. Heather Randolph Pasley, Nichols Virginia, Michael J Castellano, Matthew J Helmers, Mitchell E Baum, Eileen J Kladivko and Sotirios Archontoulis. 2021. Environmental Research Letters. https://doi.org/10.1088/1748-9326/abef8f

5. Abendroth, L.J., Miguez, F.E., Castellano, M.J., Carter, P.R., Messina, C.D., Dixon, P.M. and Hatfield, J.L. (2021), Lengthening of maize maturity time is not a widespread climate change adaptation strategy in the US Midwest. Glob Change Biol. https://doi.org/10.1111/gcb.15565

4. Interactive effect of glyphosate-based herbicides and organic soil layer thickness on growth and reproduction of the tropical earthworm Pontoscolex corethrurus (Müller, 1857). Garcia-Perez et al. (2020). https://doi.org/10.1016/j.apsoil.2020.103648

3. Cuando la variabilidad varía: Heterocedasticidad y funciones de varianza. Oddi, F. J., Miguez, F. E., Benedetti, G. G., & Garibaldi, L. A. (2020). Ecología Austral; 30; 438-453.

2. Short-term effects of integrated tillage systems and cover crop on agronomic response and soil health in North Central Iowa. Alex Cleveringa. 2020. MS Thesis. Iowa State University.

1. The Effects of Agronomic Management and 40 Years of Variety Release on Soybean Seed Fill and Yield Components. Kathryn Graf. 2018. MS thesis. Purdue University.

Other publications where we have used nonlinear mixed models:

  1. Fernando E. Miguez, María Bonita Villamil, Stephen P. Long, Germán A. Bollero, Meta-analysis of the effects of management factors on Miscanthus × giganteus growth and biomass production, Agricultural and Forest Meteorology, Volume 148, Issues 8–9, 2008, Pages 1280-1292, ISSN 0168-1923,
    https://doi.org/10.1016/j.agrformet.2008.03.010.
    Supporting information:
    http://miguezlab.agron.iastate.edu/OldWebsite/Research/Miscanthus/MetaMiscan.tar.gz

  2. Eichenberger, S., F. Miguez, J. Edwards, and A. Knapp. 2015. Changes in Kernel Filling with Selection for Grain Yield in a Maize Population. Crop Sci. 55:521-526.
    https://doi.org/10.2135/cropsci2014.07.0462

  3. Stein, M., F. Miguez, and J. Edwards. 2016. Effects of Plant Density on Plant Growth before and after Recurrent Selection in Maize. Crop Sci. 56:2882-2894.
    https://doi.org/10.2135/cropsci2015.09.0599

Talks:

2008 ACS meeting.

Slides:
http://miguezlab.agron.iastate.edu/OldWebsite/Research/Talks/ASA_Miguez.pdf

Data and code:
http://miguezlab.agron.iastate.edu/OldWebsite/Research/Talks/Barley.zip

nlraa's People

Contributors

billdenney avatar femiguez avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

nlraa's Issues

Improvements to summary_simulate - requires testing

Two options I could add would be to have an optional data argument and a formula for summarizing the output. This in part is motivated by the thinking behind computing prediction intervals in non-linear models

simulate_gnls with psim=2 and data that are a new length does not assign residuals correctly

There is a warning that longer object length is not a multiple of shorter object length" indicating that there is an issue with assigning residuals in simulate_gnls(..., psim=2)`.

I believe that the error is related to this line of code:

rsds <- rsds.std * attr(residuals(object), "std") ## This last term is 'sigma'

library(nlraa)
library(nlme)

fm1 <-
  gnls(
    weight ~ SSlogis(Time, Asym, xmid, scal),
    Soybean,
    weights = varPower()
  )

new_data <- data.frame(Time=14:84)

try0 <- simulate_gnls(fm1, data=new_data, psim=0)
try1 <- simulate_gnls(fm1, data=new_data, psim=1)
# the warnings here indicate that there is a problem assigning residuals to the
# correct length vector
try2 <- simulate_gnls(fm1, data=new_data, psim=2)
#> Warning in rsds.std * attr(residuals(object), "std"): longer object length is
#> not a multiple of shorter object length
#> Warning in val + rsds: longer object length is not a multiple of shorter object
#> length

Created on 2021-08-10 by the reprex package (v2.0.0)

simulate_gam

Next step would be to add simulate_gam and model it after the other simulate_* functions

predict_gnls with interval="prediction" hangs asking for grouped data

Hi,
I'm trying to use predict_gnls() on a gnls model that contains two factors with interactions and a varIdent variance. With the option interval="confidence" I get the CI with a simple newdata data.frame. If I use the same data.frame with the option "prediction" the function stops asking for grouped data. But even faking some data and using an object created with groupedData() do not fix the problem. Am I missing some very basic concept? Or is it a bug? Sorry to ask it here. I have no idea how to be able to reach out for a reply.
TIA
Giorgio

Easy multi model averaging

Just writing a note for developing a function that can take multiple nonlinear models and performs multimodel averaging. The package MuMIn might be useful in this respect.

Test predictions

Perform additional tests for predictions.

  • With newdata at different hierarchical levles. Note that some of these do not make sense, but I need better messages
  • With spatial covariance structures (at different levels), gls, gnls, nlme, lme
  • Expand section on 'Prediction' in the 'Bootstrapping' vignette

psim = 3 for nlme - requires testing

Someday when I have a good excuse I will look into adding the option of full simulation in nlme from fixed, random and residual. This will probably not happen in the near future...

simulate_gls requires the nlme data argument to be in the global environment

This is perhaps properly a bug for nlme, but simulate_gls fails if the data used to construct the gls object does not live in the global environment. Supplying newdata gets further but doesn't cure it during model construction. I suspect it is related to this issue: several of nlme's functions like getData seem to parse arguments in an way such that they look in the global rather than calling environment. This comes up when the data is created inside a function or other calling environment, such as when simulating or bootstrapping.

simulatation_summary_fixed <- function( 
duration_per_period = 6L ) {
 c( 1, 0 , 0 ,
   1, 1 , 1 ,
   1, 2 , 1 ,
   2, 0 , 0 ,
   2, 1 , 0 ,
   2, 2 , 1 ,
   3, 0 , 0 ,
   3, 1 , 0 ,
   3, 2 , 0 ) %>% matrix(ncol=3L, byrow=T) %>% data.frame -> SWdesign

   SWdesign %<>% set_colnames(c("cluster" , "period", "treatment"))
   SWdesign$period %<>% factor 
   SWdesign$cluster %<>% factor 
   
   base_num <- nrow(SWdesign)
   SWdesign  <- bind_rows( rep(list(SWdesign ) , duration_per_period ) )
   
   SWdesign %<>% arrange(cluster, period)
   SWdesign$time <- rep( seq_len(duration_per_period*n_distinct(SWdesign$period) ) , n_distinct(SWdesign$cluster) ) 
   
 
   cor_init <- corAR1(form= ~ time|cluster )
   cor_init <- Initialize(cor_init, data = SWdesign )
   
        SWdesign$outcome <- rnorm( nrow(SWdesign) )
        local.glm <- gls( outcome ~ treatment+ cluster + time   ,   correlation=cor_init, data=SWdesign, method="ML") 
        
        nlraa::simulate_gls(local.glm, psim=2)
        
        
}

simulatation_summary_fixed()
Error in eval(if ("data" %in% names(object)) object$data else mCall$data) : 
  object 'SWdesign' not found

Add numerical derivatives

Removed the constrain of having to use selfStart for predict2_nls, but now I need to extend it to new data. This requires approximating the gradient.

predict_gnls() returns Error in quantile.default(newX[, i], ...)

I am sometimes, but not always, getting a strange error when attempting to calculate confidence intervals using predict_gnls(). In the example which follows, there are measurements (log scale) of the initial microbial population (= Phase1), then again following a first treatment (= Phase2) and then again daily over a period of 5 days following a second treatment (= Phase3). My model includes dummy variables to encode the effects of the treatments 1 and 2, and a re-parameterized Weibull to model subsequent change over time. The model fits without warnings/errors, but predict_gnls() fails:

# load packages
library(nlme)
library(nlraa)

# create data set
microbe = structure(list(Trial = c(1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 
                         2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3), 
               Log = c(6.86468696709014, 
                        6.17105526934298, 5.82899896281061, 4.83359505763915, 2.82512686438112, 
                        3.12472285973601, 1.72478353249313, 2.77005756550606, 7.0503785687999, 
                        6.35965377626497, 6.36580893512283, 3.45524250985477, 2.30239227201876, 
                        1.93998020793381, 1.97867697492427, 0.693060415349208, 6.99476701666496, 
                        6.52218511029435, 5.44873214790974, 3.42258607221712, 3.49805153133948, 
                        1.93550829917111, 3.64734428971361, 3.37482224260704), 
               DayNum = c(0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 1, 2, 3, 4, 5),
               Phase = structure(c(1L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 
                                   2L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 2L, 3L, 3L, 3L, 3L, 3L, 3L), 
                                 .Label = c("Phase1", "Phase2", "Phase3"), class = "factor"), 
               Trt1 = c(0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1), 
               Trt2 = c(0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 
                        0, 0, 1, 1, 1, 1, 1, 1)), 
               row.names = c(NA, -24L), class = "data.frame")

# fit the model
weibull_repar = gnls(Log ~ (N_0 - Trt1*phi1 - Trt2*phi2) - (DayNum^beta)*(5 - phi1 - phi2)/(T_5^beta),
                     data = microbe,
                     start = list(N_0 = 8, phi1 = 0.9,  phi2 = 0.6, beta = .4, T_5 = 5))
# model appears fine
intervals(weibull_repar)

# create predictions/confidence band for trend over time
new = data.frame(Trt1 = 1, Trt2 = 1, DayNum = seq(0, 5, .1))
predict_gnls(weibull_repar, newdata = new, interval = 'confidence') # Error in quantile.default(newX[, i], ...) missing values and NaN's not allowed if 'na.rm' is FALSE

Debugging indicates the issue appears somewhere on or around line 166 of predict_nlme.R, but that was as far as I got. I'm running version 1.5 of the package on R 4.1.3. Oddly, the issue doesn't occur with other, similar data sets even using the same model, so I'm at a loss as to what the issue is. Any help you could provide would be much appreciated. Thanks in advance.

Need data argument for bootstrapping

Similar to #4, can a data argument be added to boot_nlme, boot_lme, and boot_nls?

Here is a reprex:

require(nlme)
#> Loading required package: nlme

fit_the_model <- function() {
  data(barley, package = "nlraa")
  barley2 <- subset(barley, year < 1974)
  fit.lp.gnls2 <- gnls(yield ~ linp(NF, a, b, xs), start=c(a=170, b=100, xs=5), data = barley2)
  barley2$year.f <- as.factor(barley2$year)
  cfs <- coef(fit.lp.gnls2)
  fit.lp.gnls3_inner <-
    update(fit.lp.gnls2,
           params = list(a + b + xs ~ year.f),
           start = c(cfs[1], 0, 0, 0, 
                     cfs[2], 0, 0, 0,
                     cfs[3], 0, 0, 0))
  fit.lp.gnls3_inner
}

fit.lp.gnls3 <- fit_the_model()
#> Error in linp(NF, a, b, xs): could not find function "linp"

sims <- simulate_nlme(fit.lp.gnls3, nsim = 3)
#> Error in simulate_nlme(fit.lp.gnls3, nsim = 3): could not find function "simulate_nlme"
boot <- boot_nlme(fit.lp.gnls3, nsim = 3)
#> Error in boot_nlme(fit.lp.gnls3, nsim = 3): could not find function "boot_nlme"

barley3 <- subset(barley, year < 1974)
barley3$year.f <- as.factor(barley3$year)

boot <- boot_nlme(fit.lp.gnls3, nsim = 3, data=barley3)
#> Error in boot_nlme(fit.lp.gnls3, nsim = 3, data = barley3): could not find function "boot_nlme"

Created on 2021-08-01 by the reprex package (v2.0.0)

Create function SSquadp3xs

Since it is common to want to parameterize this function in terms of the break-point instead of a, b, and c

nlsLMList lower= and upper=

Although nlsLMList supports algorithm="port" it does not support lower= and upper= arguments so you still can't use bounds.

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.