0
$\begingroup$

I would like to fit a model to the data set that has two predictors, wind and relative humidity, and the response is inoculum production. The response to increasing in RH is sigmoid. I am not really sure how to approach this. I do not know how to fit a non-linear model (for example logistic) to data with multiple variables. The data comes from an old article and only means are available for each combination of factor levels.
The data:

dis_df <- structure(list(rh = c(100, 95, 90, 85, 80, 100, 95, 90, 85, 80, 
100, 95, 90, 85, 80, 100, 95, 90, 85, 80), wind = c(0.3, 0.3, 
0.3, 0.3, 0.3, 1.4, 1.4, 1.4, 1.4, 1.4, 5.5, 5.5, 5.5, 5.5, 5.5, 
13.7, 13.7, 13.7, 13.7, 13.7), spor = c(66927, 83117, 76360, 
17542, 7857, 95804, 98221, 17147, 4384, 69, 90982, 7741, 179, 
93, 185, 139531, 4887, 292, 417, 0)), row.names = c(NA, -20L), class = c("tbl_df", 
"tbl", "data.frame"))

Some visualisation:

ggplot(spor_df, aes(factor(spor_df$wind, levels = c("0.3", "1.4", "5.5", "13.7")), rh))+
  geom_tile(aes(fill = spor))+
  xlab("Wind (m/s)")+
  scale_fill_gradient(low = "lightgray", high = "black")
$\endgroup$
  • $\begingroup$ Before you worry about fitting a model, you need to have a model. Can you provide the model equation? $\endgroup$ – Roland Jun 4 at 10:28
0
$\begingroup$

I would look at the data in e.g. a visualisation like this:

library(tidyverse)

dis_df <- tibble(rh = c(100, 95, 90, 85,
                        80, 100, 95, 90,
                        85, 80,100, 95,
                        90, 85, 80, 100,
                        95, 90, 85, 80),
                 wind = c(0.3, 0.3,0.3, 0.3,
                          0.3, 1.4, 1.4, 1.4,
                          1.4, 1.4, 5.5, 5.5,
                          5.5, 5.5, 5.5, 13.7,
                          13.7, 13.7, 13.7, 13.7),
                 spor = c(66927, 83117, 76360, 17542,
                          7857, 95804, 98221, 17147,
                          4384, 69, 90982, 7741,
                          179, 93, 185, 139531,
                          4887, 292, 417, 0))

dis_df %>% 
  ggplot(aes(x = as_factor(rh), y = spor)) +
  geom_point() +
  scale_y_continuous(breaks = round(seq(min(dis_df$spor),
                                    max(dis_df$spor),
                                        by = 20000),1),
                     labels = scales::comma) +
  xlab("Mean Relative Humidity") +
  ylab("Mean Spore Inoculum Production") +
  facet_grid(~wind, labeller = label_both)

And calculate the (partial) correlations.

$\endgroup$
  • $\begingroup$ I did look at data in a number of ways, and this being one of them just using line plots. Just thought this might be an interesting way to show it. I need this for inference, correlations are not really helpfull. $\endgroup$ – m_c Jun 4 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.