आर कोड के साथ इन सवालों का जवाब देने के लिए, निम्नलिखित का उपयोग करें:
1. मैं ढलानों के बीच अंतर का परीक्षण कैसे कर सकता हूं?
उत्तर: पेटा की बातचीत से एनोवा पी-वैल्यू की जांच करें। प्रजातियों के अनुसार, फिर गालियों का उपयोग करते हुए ढलानों की तुलना करें: lstrends, निम्नानुसार।
library(lsmeans)
m.interaction <- lm(Sepal.Length ~ Petal.Width*Species, data = iris)
anova(m.interaction)
Analysis of Variance Table
Response: Sepal.Length
Df Sum Sq Mean Sq F value Pr(>F)
Petal.Width 1 68.353 68.353 298.0784 <2e-16 ***
Species 2 0.035 0.017 0.0754 0.9274
Petal.Width:Species 2 0.759 0.380 1.6552 0.1947
Residuals 144 33.021 0.229
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# Obtain slopes
m.interaction$coefficients
m.lst <- lstrends(m.interaction, "Species", var="Petal.Width")
Species Petal.Width.trend SE df lower.CL upper.CL
setosa 0.9301727 0.6491360 144 -0.3528933 2.213239
versicolor 1.4263647 0.3459350 144 0.7425981 2.110131
virginica 0.6508306 0.2490791 144 0.1585071 1.143154
# Compare slopes
pairs(m.lst)
contrast estimate SE df t.ratio p.value
setosa - versicolor -0.4961919 0.7355601 144 -0.675 0.7786
setosa - virginica 0.2793421 0.6952826 144 0.402 0.9149
versicolor - virginica 0.7755341 0.4262762 144 1.819 0.1669
2. मैं अवशिष्ट भिन्नताओं के बीच अंतर का परीक्षण कैसे कर सकता हूं?
यदि मैं इस प्रश्न को समझता हूं, तो आप एक फिशर ट्रांसफॉर्मेशन के साथ पियर्सन के सहसंबंधों की तुलना कर सकते हैं, जिसे "फिशर आर-टू-जेड" भी कहा जाता है, इस प्रकार है।
library(psych)
library(data.table)
iris <- as.data.table(iris)
# Calculate Pearson's R
m.correlations <- iris[, cor(Sepal.Length, Petal.Width), by = Species]
m.correlations
# Compare R values with Fisher's R to Z
paired.r(m.correlations[Species=="setosa", V1], m.correlations[Species=="versicolor", V1],
n = iris[Species %in% c("setosa", "versicolor"), .N])
paired.r(m.correlations[Species=="setosa", V1], m.correlations[Species=="virginica", V1],
n = iris[Species %in% c("setosa", "virginica"), .N])
paired.r(m.correlations[Species=="virginica", V1], m.correlations[Species=="versicolor", V1],
n = iris[Species %in% c("virginica", "versicolor"), .N])
3. इन तुलनाओं को प्रस्तुत करने का एक सरल, प्रभावी तरीका क्या है?
"हम प्रत्येक प्रजाति के लिए पेटल चौड़ाई को बाह्यदल लंबाई के रिश्ते की तुलना करने के रेखीय प्रतीपगमन इस्तेमाल किया। हम के लिए पेटल चौड़ाई को बाह्यदल लंबाई के संबंधों में एक महत्वपूर्ण बातचीत नहीं मिला मैं Setosa (बी = 0.9), मैं Versicolor (बी = 1.4), न ही आई। वर्जिनिका (बी = 0.6); एफ (2, 144) = 1.6, पी = 0.19। एक फिशर की आर-टू-जेड तुलना ने संकेत दिया कि आई। सेटोसा (आर = 0.28) के लिए पियर्सन सहसंबंध था। I. वर्सिकलर (r = 0.55 ) की तुलना में काफी कम (p = 0.02) । इसी तरह I. Virginica (r = 0.28) का सहसंबंध भी काफी कमजोर था ।। "
अंत में, हमेशा अपने परिणामों की कल्पना करें!
plotly_interaction <- function(data, x, y, category, colors = col2rgb(viridis(nlevels(as.factor(data[[category]])))), ...) {
# Create Plotly scatter plot of x vs y, with separate lines for each level of the categorical variable.
# In other words, create an interaction scatter plot.
# The "colors" must be supplied in a RGB triplet, as produced by col2rgb().
require(plotly)
require(viridis)
require(broom)
groups <- unique(data[[category]])
p <- plot_ly(...)
for (i in 1:length(groups)) {
groupData = data[which(data[[category]]==groups[[i]]), ]
p <- add_lines(p, data = groupData,
y = fitted(lm(data = groupData, groupData[[y]] ~ groupData[[x]])),
x = groupData[[x]],
line = list(color = paste('rgb', '(', paste(colors[, i], collapse = ", "), ')')),
name = groups[[i]],
showlegend = FALSE)
p <- add_ribbons(p, data = augment(lm(data = groupData, groupData[[y]] ~ groupData[[x]])),
y = groupData[[y]],
x = groupData[[x]],
ymin = ~.fitted - 1.96 * .se.fit,
ymax = ~.fitted + 1.96 * .se.fit,
line = list(color = paste('rgba','(', paste(colors[, i], collapse = ", "), ', 0.05)')),
fillcolor = paste('rgba', '(', paste(colors[, i], collapse = ", "), ', 0.1)'),
showlegend = FALSE)
p <- add_markers(p, data = groupData,
x = groupData[[x]],
y = groupData[[y]],
symbol = groupData[[category]],
marker = list(color=paste('rgb','(', paste(colors[, i], collapse = ", "))))
}
p <- layout(p, xaxis = list(title = x), yaxis = list(title = y))
return(p)
}
plotly_interaction(iris, "Sepal.Length", "Petal.Width", "Species")