আর কোডের সাথে এই প্রশ্নের উত্তর দিতে, নিম্নলিখিতটি ব্যবহার করুন:
1. আমি কীভাবে opালুগুলির মধ্যে পার্থক্যটি পরীক্ষা করতে পারি?
উত্তর: প্রজাতি দ্বারা পেটাল.উইথথের মিথস্ক্রিয়া থেকে অানোভা পি-মানটি পরীক্ষা করুন, তারপরে নীচে lsmeans :: lstrends ব্যবহার করে opালু তুলনা করুন।
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
২. কীভাবে আমি অবশিষ্টাংশের পার্থক্যটি পরীক্ষা করতে পারি?
যদি আমি প্রশ্নটি বুঝতে পারি তবে আপনি পিয়ারসন পারস্পরিক সম্পর্কের তুলনায় ফিশার ট্রান্সফর্মের সাথে তুলনা করতে পারেন, এটি "ফিশারের আর-টু-জেড" নামেও পরিচিত, নীচে।
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])
৩. এই তুলনাগুলি উপস্থাপনের একটি সহজ, কার্যকর উপায় কী?
"আমরা প্রতিটি প্রজাতির জন্য পেটাল দৈর্ঘ্যের সাথে পেটাল দৈর্ঘ্যের সম্পর্ককে তুলনার জন্য লিনিয়ার রিগ্রেশন ব্যবহার করি। আই. সেটোসা (বি = 0.9), আই। ভার্সিকোলার (বি ) এর জন্য সেপাল দৈর্ঘ্যের থেকে পেটাল প্রস্থের সম্পর্কের মধ্যে আমরা একটি উল্লেখযোগ্য মিথস্ক্রিয়া খুঁজে পাইনি। = 1.4), না আমি ভার্জিনিকা (বি = 0.6); এফ (2, 144) = 1.6, পি = 0.19 একটি ফিশারের আর-টু-জেড তুলনা I. সেটোসা (আর = 0.28) এর পিয়ারসন পারস্পরিক সম্পর্ক ছিল I এর তুলনায় উল্লেখযোগ্যভাবে কম (p = 0.02) । ভার্সিকোলার (r = 0.55) একইভাবে, I. ভার্জিনিকার (r = 0.28) এর পারস্পরিক সম্পর্ক I. ভার্সিকোলারের জন্য পরিলক্ষিত তুলনায় উল্লেখযোগ্যভাবে দুর্বল (p = 0.02) ছিল was। "
অবশেষে, সর্বদা আপনার ফলাফল চাক্ষুষ!
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")