The coefficient that is output in R by the glm
function with family set to poisson
is the the median % change observed in your response variable for each unit increase in your covariate. The glm
function in R, by default, will use a log link, meaning it will log transform your response data. In this case the coefficient represents the log-odd change in your response variable. Here is a good tutorial on how to interpret them if you are unsure. To create a linear model in R with normal errors you use:
fitNorm <- lm(Response ~ Predictors, data = df)
To create a poisson model you can use:
fitPois <- glm(Response ~ Predictors, family = "poisson", data = df)
This won't necessarily lead to different coefficients - it depends on the data. If you post your data I might be able to help more.
The use of the poisson distribution instead of the normal distribution is entirely dependent on your response data. It is not a substitute for log transformation. Each of these error families (i.e. poisson and normal) have a different set of assumptions associated with them that are a function of the properties of the distribution. For instance, the normal distribution is continuous and unbounded. In simpler terms it can take any numeric value (e.g. 2.03, 4, 6.11) and it can take any value from negative infinity to infinity. Moreover, classic linear models assume that the errors are normally distributed and centered on zero - this means that the variance is constant and the residuals are centered on zero - something you can check by looking at residual plots and Q-Q plots. These models are good for response variables which meet these assumptions. If your data does not have constant variance, or the relationship between the predictor and the response is not strictly linear, then sometimes log transformations can correct this. If there is curvature then polynomials are another option.
In contrast, the poisson distribution is ideal for most count data. This is because the values it takes must be integers (e.g. 1, 2, 100 - whole numbers) and you can't have counts less than zero, but it goes up to infinity. Moreover, it assumes that the variance in the response is equal to the mean; the variance increases with the mean value, so there isn't an assumption that the variance is constant across the range of values of interest but there is an assumption that the variance is approximately equal to the mean - if that isn't met then one option (of many) you can look at is negative binomial models which include an additional term accounting for the extra-poisson variation.
There are a lot of good books and online tutorial on how one should go about model fitting out there and there is also a lot more to say on it. Here is a description of how one might go about model assessment of linear models in R.
I hope this all helps, but feel free to ask if anything is unclear!