আত্মবিশ্বাসের অন্তরগুলির সাথে একটি মিথস্ক্রিয়া প্লট কীভাবে আঁকবেন?


11

আমার প্রচেষ্টা:

  1. আমি আত্মবিশ্বাসের অন্তর পেতে পারি না interaction.plot()

  2. এবং অন্যদিকে plotmeans()প্যাকেজ 'gplot' থেকে দুটি গ্রাফ প্রদর্শিত হবে না। তদ্ব্যতীত, আমি plotmeans()অন্যের উপরে দুটি গ্রাফ চাপিয়ে দিতে পারি না কারণ ডিফল্টরূপে অক্ষগুলি পৃথক হয়।

  3. plotCI()প্যাকেজ 'জিপি্লট' ব্যবহার করে এবং দুটি গ্রাফ সুপারমোস করাতে আমার কিছুটা সাফল্য ছিল তবে তবুও অক্ষটির মিলটি সঠিক ছিল না।

আত্মবিশ্বাসের ব্যবধানগুলির সাথে ইন্টারঅ্যাকশন প্লট কীভাবে করা যায় সে সম্পর্কে কোনও পরামর্শ? হয় এক ফাংশন দ্বারা, বা কীভাবে সুপারমপোজ করা plotmeans()বা plotCI()গ্রাফগুলি সম্পর্কে পরামর্শ ।

কোড নমুনা

br=structure(list(tangle = c(140L, 50L, 40L, 140L, 90L, 70L, 110L, 
150L, 150L, 110L, 110L, 50L, 90L, 140L, 110L, 50L, 60L, 40L, 
40L, 130L, 120L, 140L, 70L, 50L, 140L, 120L, 130L, 50L, 40L, 
80L, 140L, 100L, 60L, 70L, 50L, 60L, 60L, 130L, 40L, 130L, 100L, 
70L, 110L, 80L, 120L, 110L, 40L, 100L, 40L, 60L, 120L, 120L, 
70L, 80L, 130L, 60L, 100L, 100L, 60L, 70L, 90L, 100L, 140L, 70L, 
100L, 90L, 130L, 70L, 130L, 40L, 80L, 130L, 150L, 110L, 120L, 
140L, 90L, 60L, 90L, 80L, 120L, 150L, 90L, 150L, 50L, 50L, 100L, 
150L, 80L, 90L, 110L, 150L, 150L, 120L, 80L, 80L), gtangles = c(141L, 
58L, 44L, 154L, 120L, 90L, 128L, 147L, 147L, 120L, 127L, 66L, 
118L, 141L, 111L, 59L, 72L, 45L, 52L, 144L, 139L, 143L, 73L,  
59L, 148L, 141L, 135L, 63L, 51L, 88L, 147L, 110L, 68L, 78L, 63L, 
64L, 70L, 133L, 49L, 129L, 100L, 78L, 128L, 91L, 121L, 109L, 
48L, 113L, 50L, 68L, 135L, 120L, 85L, 97L, 136L, 59L, 112L, 103L, 
62L, 87L, 92L, 116L, 141L, 70L, 121L, 92L, 137L, 85L, 117L, 51L, 
84L, 128L, 162L, 102L, 127L, 151L, 115L, 57L, 93L, 92L, 117L, 
140L, 95L, 159L, 57L, 65L, 130L, 152L, 90L, 117L, 116L, 147L, 
140L, 116L, 98L, 95L), up = c(-1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
-1L, -1L, 1L, 1L, 1L, 1L, -1L, -1L, -1L, -1L, 1L, 1L, -1L, -1L, 
1L, 1L, -1L, 1L, 1L, -1L, 1L, 1L, 1L, 1L, 1L, -1L, -1L, 1L, 1L, 
1L, 1L, -1L, -1L, 1L, 1L, -1L, -1L, -1L, -1L, -1L, -1L, -1L, 
1L, -1L, -1L, -1L, -1L, -1L, 1L, -1L, 1L, 1L, -1L, -1L, -1L, 
-1L, 1L, -1L, 1L, -1L, -1L, -1L, 1L, -1L, 1L, -1L, 1L, 1L, 1L, 
-1L, -1L, -1L, -1L, -1L, -1L, 1L, -1L, 1L, 1L, -1L, -1L, 1L, 
1L, 1L, -1L, 1L, 1L, 1L)), .Names = c("tangle", "gtangles", "up"
), class = "data.frame", row.names = c(NA, -96L))

plotmeans2 <- function(br, alph) {
dt=br;   tmp   <- split(br$gtangles, br$tangle);   
means <- sapply(tmp, mean);  stdev <- sqrt(sapply(tmp, var));  
n <- sapply(tmp,length);  
ciw   <- qt(alph, n) * stdev / sqrt(n)
plotCI(x=means, uiw=ciw, col="black", barcol="blue", lwd=1,ylim=c(40,150),  xlim=c(1,12)); 
par(new=TRUE) dt= subset(br,up==1);   
tmp   <- split(dt$gtangles, dt$tangle);  
means <- sapply(tmp, mean);  
stdev <- sqrt(sapply(tmp, var));  
n <- sapply(tmp,length); 
ciw  <- qt(0.95, n) * stdev / sqrt(n)
plotCI(x=means, uiw=ciw, type='l',col="black", barcol="red", lwd=1,ylim=c(40,150), xlim=c(1,12),pch='+');
abline(v=6);abline(h=90);abline(30,10); par(new=TRUE);
dt=subset(br,up==-1);   
tmp <- split(dt$gtangles, dt$tangle);  
means <- sapply(tmp, mean);  
stdev <- sqrt(sapply(tmp, var));  
n <- sapply(tmp,length); 
ciw <- qt(0.95, n) * stdev / sqrt(n)
plotCI(x=means, uiw=ciw, type='l', col="black", barcol="blue",   lwd=1,ylim=c(40,150), xlim=c(1,12),pch='-');abline(v=6);abline(h=90);
abline(30,10);
}

plotmeans2(br,.95)

উত্তর:


21

আপনি যদি ggplot ব্যবহার করতে ইচ্ছুক হন , আপনি নিম্নলিখিত কোডটি চেষ্টা করতে পারেন।

অবিচ্ছিন্ন ভবিষ্যদ্বাণী সহ

library(ggplot2)
gp <- ggplot(data=br, aes(x=tangle, y=gtangles)) 
gp + geom_point() + stat_smooth(method="lm", fullrange=T) + facet_grid(. ~ up)

একটি দৃষ্টিভঙ্গি ইন্টারঅ্যাকশন প্লটের জন্য

এখানে চিত্র বর্ণনা লিখুন

একটি স্ট্যান্ডার্ড ইন্টারঅ্যাকশন প্লটের (যেমন উত্পাদিত হিসাবে interaction.plot()) আপনার কেবল মুখোমুখি সরিয়ে ফেলতে হবে।

gp <- ggplot(data=br, aes(x=tangle, y=gtangles, colour=factor(up))) 
gp + geom_point() + stat_smooth(method="lm")

এখানে চিত্র বর্ণনা লিখুন

একটি পৃথক ভবিষ্যদ্বাণী সঙ্গে

ToothGrowthডেটাসেট ব্যবহার করে (দেখুন help(ToothGrowth)),

ToothGrowth$dose.cat <- factor(ToothGrowth$dose, labels=paste("d", 1:3, sep=""))
df <- with(ToothGrowth , aggregate(len, list(supp=supp, dose=dose.cat), mean))
df$se <- with(ToothGrowth , aggregate(len, list(supp=supp, dose=dose.cat), 
              function(x) sd(x)/sqrt(10)))[,3]

opar <- theme_update(panel.grid.major = theme_blank(),
                     panel.grid.minor = theme_blank(),
                     panel.background = theme_rect(colour = "black"))
gp <- ggplot(df, aes(x=dose, y=x, colour=supp, group=supp))
gp + geom_line(aes(linetype=supp), size=.6) + 
     geom_point(aes(shape=supp), size=3) + 
     geom_errorbar(aes(ymax=x+se, ymin=x-se), width=.1)
theme_set(opar)

এখানে চিত্র বর্ণনা লিখুন


বিস্তারিত প্রতিক্রিয়ার জন্য আপনাকে অনেক ধন্যবাদ। আমি জিজ্ঞাসা করতে চেয়েছিলাম, স্বাধীন ভেরিয়েবলের প্রতিটি স্তরে উল্লম্ব আত্মবিশ্বাসের অন্তর করার কোনও উপায় আছে কি? পটভূমি সরিয়ে এবং 'পুরানো শৈলী' গ্রাফে ফিরে যাওয়ার কোনও উপায় আছে কি?
অ্যাডাম SA

1
@ অ্যাডাম আমি 2 শ্রেণীবদ্ধ ভেরিয়েবল + একটি ধ্রুবক প্রতিক্রিয়া পরিবর্তনশীল এর ক্ষেত্রে আমার প্রতিক্রিয়া আপডেট করেছি - আশা করি আপনি এটিই বোঝাতে চেয়েছিলেন। ggplotথিমটি কীভাবে কাস্টমাইজ করতে হয় তা দেখানোর জন্য আমি কোডও যুক্ত করেছি । সাধারণত, আপনি gp + theme_bw()কেবল ধূসর ব্যাকগ্রাউন্ড অপসারণ করতে পারেন ; এখানে আমি গ্রিডটিও সরিয়েছি।
chl

12

আর-এ ফক্স এবং হং এর প্রভাব প্যাকেজও রয়েছে See নরম। আত্মবিশ্বাসের বিরতি এবং আর কোড উত্পন্ন সহ উদাহরণগুলির জন্য এখানে এবং এখানে কাগজপত্র ।

এটি জিজিপ্লাট সমাধান হিসাবে খুব সুন্দর নয়, তবে বেশ খানিকটা সাধারণ এবং মাঝারিভাবে জটিল জিএলএমগুলির জন্য একটি জীবনকালীন ver


1
(+1) আমি অবশ্যই স্বীকার করব যে আমি এই পদ্ধতির পছন্দ করি :-)
chl

@ সিএইচএল এবং / অথবা কনজুগেট, আপনি কেন এই পদ্ধতির পছন্দ করেন সে সম্পর্কে আপনি আরও বলতে পারেন? এটি আমার মতো লোকদের কোন পদ্ধতিতে সময়
মাইকেল বিশপ

1
@ মিশেলবিশপ মূলত কারণ এটি প্রচুর পরিমাণে জটিল বিষয়কে জড়িয়ে দেয় (লিঙ্ক বনাম প্রতিক্রিয়া স্কেলে প্লট করা, জিএলএমএমএমের জন্য 95% সিআই প্রদর্শন, মিথস্ক্রিয়া শর্তগুলির বিরুদ্ধে প্রান্তিককরণ ইত্যাদি) যা কয়েকটি আর কমান্ড (এবং ব্যক্তিগতভাবে, আমি latticeগ্রাফিকগুলি খুব পছন্দ করি :)
chl
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.