I'm using the "std2" option for tab_model(), which according to the documentation follows "Gelman's (2008) suggestion, rescaling the estimates by dividing them by two standard deviations instead of just one." That paper is here:
http://www.stat.columbia.edu/~gelman/research/published/standardizing7.pdf
Without a log term in a model I get what I expect for standardized beta based on this, matching the "Std. Beta" column in the tab_model() result.
library(sjPlot)
model = lm(Petal.Length ~ Petal.Width*Sepal.Width*Sepal.Length, data = iris)
tab_model(model, show.std = "std2")
iris2 = iris
iris2$Sepal.Length = (iris2$Sepal.Length - mean(iris2$Sepal.Length))/(2*sd(iris2$Sepal.Length))
iris2$Sepal.Width = (iris2$Sepal.Width - mean(iris2$Sepal.Width))/(2*sd(iris2$Sepal.Width))
iris2$Petal.Width = (iris2$Petal.Width - mean(iris2$Petal.Width))/(2*sd(iris2$Petal.Width))
model2 = lm(Petal.Length ~ Petal.Width*Sepal.Width*Sepal.Length, data = iris2)
summary(model2)
0.5/sd(iris2$Petal.Length)*model2$coefficients[2]
0.5/sd(iris2$Petal.Length)*model2$coefficients[3]
0.5/sd(iris2$Petal.Length)*model2$coefficients[4]
The Gelman paper has a small part about log terms:
"More challenging cases arise in which some inputs have been log transformed and others are not. We have no general solution here, but we would start by centering and rescaling the variables that have not been log transformed. It might also make sense to rescale the variables after the log transformation—for example, in Figure 1, if income had been coded as ‘log (income in dollars),’ we might still consider transforming it."
However, with a log term (I know this doesn't work well for this iris example but this is just for simple reproducibility), I can no longer reproduce the std. beta coefficients based on this logic as I understand it.
model_log = lm(Petal.Length ~ log(Petal.Width)*Sepal.Width*Sepal.Length, data = iris)
tab_model(model_log, show.std = "std2")
iris2$Petal.Width = log(iris$Petal.Width)
iris2$Petal.Width = (iris2$Petal.Width - mean(iris2$Petal.Width))/(2*sd(iris2$Petal.Width))
model_log2 = lm(Petal.Length ~ Petal.Width*Sepal.Width*Sepal.Length, data = iris2)
summary(model_log2)
0.5/sd(iris2$Petal.Length)*model_log2$coefficients[2]
0.5/sd(iris2$Petal.Length)*model_log2$coefficients[3]
0.5/sd(iris2$Petal.Length)*model_log2$coefficients[4]
```