এই কাস্টম বিপরীতে ব্যাখ্যা কিভাবে?


10

আমি কাস্টম বৈপরীত্য সহ একমুখী আনোভা (প্রতি প্রজাতি) করছি।

     [,1] [,2] [,3] [,4]
0.5    -1    0    0    0
5       1   -1    0    0
12.5    0    1   -1    0
25      0    0    1   -1
50      0    0    0    1

যেখানে আমি 5 এর বিপরীতে 0.5, 12.5 এর বিপরীতে 5 এবং আরও অনেকের সাথে তুলনা করি। এই আমি কাজ করছি ডেটা

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

নিম্নলিখিত ফলাফল সহ

Generalized least squares fit by REML
  Model: dark ~ intensity 
  Data: skofijski.diurnal[skofijski.diurnal$species == "niphargus", ] 
       AIC      BIC    logLik
  63.41333 67.66163 -25.70667

Coefficients:
            Value Std.Error  t-value p-value
(Intercept) 16.95 0.2140872 79.17334  0.0000
intensity1   2.20 0.4281744  5.13809  0.0001
intensity2   1.40 0.5244044  2.66970  0.0175
intensity3   2.10 0.5244044  4.00454  0.0011
intensity4   1.80 0.4281744  4.20389  0.0008

 Correlation: 
           (Intr) intns1 intns2 intns3
intensity1 0.000                      
intensity2 0.000  0.612               
intensity3 0.000  0.408  0.667        
intensity4 0.000  0.250  0.408  0.612 

Standardized residuals:
       Min         Q1        Med         Q3        Max 
-2.3500484 -0.7833495  0.2611165  0.7833495  1.3055824 

Residual standard error: 0.9574271 
Degrees of freedom: 20 total; 15 residual

16.95 হ'ল "নিফারগাস" এর জন্য বিশ্বব্যাপী গড়। তীব্রতা 1 এ, আমি 5 এর বিপরীতে 0.5 তীব্রতার জন্য অর্থ তুলনা করছি।

যদি আমি এই অধিকারটি বুঝতে পারি তবে ২.২ এর তীব্রতার জন্য সহগের তীব্রতা মাত্রার 0.5 এবং 5 এর মধ্যকার পার্থক্য অর্ধেক হওয়া উচিত However তবে, আমার হাতের গণনাগুলি সংক্ষিপ্তসারটির সাথে মেলে না। আমি কী ভুল করছি তাতে কেউ চিপ করতে পারে?

ce1 <- skofijski.diurnal$intensity
levels(ce1) <- c("0.5", "5", "0", "0", "0")
ce1 <- as.factor(as.character(ce1))
tapply(skofijski.diurnal$dark, ce1, mean)
       0    0.5      5 
  14.500 11.875 13.000 
diff(tapply(skofijski.diurnal$dark, ce1, mean))/2
      0.5       5 
  -1.3125  0.5625 

আপনি যে অনুমানের জন্য ব্যবহার করেছিলেন সেখান থেকে আপনি lm () ফাংশনটি সরবরাহ করতে পারেন? আপনি বিপরীতে কাজটি ঠিক কীভাবে ব্যবহার করেছেন?
ফিলিপ

বিটিডব্লিউ geom_points(position=position_dodge(width=0.75))আপনার প্লটের পয়েন্টগুলি যেভাবে বাক্সগুলির সাথে একত্রিত না করে তা ঠিক করবে।
উড়ে

আমার প্রশ্নের উত্তর থেকে @ প্রথমে, সেখানে একটি ভূমিকা দেওয়া হয়েছিল geom_jitter, যা জিটার_পয়েন্ট () এর সমস্ত প্যারামিটারগুলির জন্য একটি শর্টকাট।
রোমান Luštrik

আমি সেখানে ঘিঞ্জি খেয়াল করিনি। না geom_jitter(position_dodge)কাজ করে? আমি geom_points(position_jitterdodge)ডজিং সহ বক্সপ্লটগুলিতে বিন্দু যুক্ত করতে ব্যবহার করছি।
উড়ে

@ ফ্লাইস geom_jitter এখানে ডক্স দেখুন । আমার উপরের উত্তরের পরে আমার অভিজ্ঞত্বে, আমি বক্সপ্লটগুলি ব্যবহার করা অপ্রয়োজনীয় বলে মনে করি। কখনো। আমার যদি অনেকগুলি পয়েন্ট থাকে তবে আমি বেহালা প্লট ব্যবহার করি যা বক্সপ্লটগুলির চেয়ে অনেক সূক্ষ্ম বিশদে পয়েন্টের ঘনত্ব দেখায়। অনেক পয়েন্ট প্লট করার সময় বা তাদের ঘনত্বগুলি সুবিধাজনক ছিল না এমন সময় বক্সপ্লটগুলি ফিরে আবিষ্কার হয়েছিল। সম্ভবত এই সময়টি আমরা এই (প্রতিবন্ধী) ভিজ্যুয়ালাইজেশন বাদ দেওয়ার চিন্তা শুরু করি।
রোমান Luštrik

উত্তর:


10

বৈপরীত্যগুলির জন্য আপনি নির্দিষ্ট করা ম্যাট্রিক্স নীতিগতভাবে সঠিক। এটিকে উপযুক্ত কনট্রাস্ট ম্যাট্রিক্সে রূপান্তর করতে আপনার আপনার মূল ম্যাট্রিক্সের জেনারাইজড ইনভার্স গণনা করতে হবে।

যদি Mআপনার ম্যাট্রিক্স হয়:

M

#     [,1] [,2] [,3] [,4]
#0.5    -1    0    0    0
#5       1   -1    0    0
#12.5    0    1   -1    0
#25      0    0    1   -1
#50      0    0    0    1 

এখন, ব্যবহার করে সাধারণ বিপরীত গণনা করুন ginvএবং ব্যবহার করে ফলাফলটি স্থানান্তর করুন t:

library(MASS)
t(ginv(M))

#     [,1] [,2] [,3] [,4]
#[1,] -0.8 -0.6 -0.4 -0.2
#[2,]  0.2 -0.6 -0.4 -0.2
#[3,]  0.2  0.4 -0.4 -0.2
#[4,]  0.2  0.4  0.6 -0.2
#[5,]  0.2  0.4  0.6  0.8

ফলাফলটি গ্রেগ স্নো এর একটির মতো। আপনার বিশ্লেষণের জন্য এই ম্যাট্রিক্সটি ব্যবহার করুন।

এটি ম্যানুয়ালি করার চেয়ে অনেক সহজ উপায়।


সহচরী পার্থক্য (ওরফে পুনরাবৃত্তি বিপরীতে ) এর একটি ম্যাট্রিক্স উত্পন্ন করার আরও সহজ উপায় রয়েছে । এটি contr.sdifপরামিতি হিসাবে ফাংশন এবং ফ্যাক্টর স্তরের সংখ্যা দিয়ে করা যেতে পারে । যদি আপনার পাঁচটি ফ্যাক্টর স্তর থাকে তবে আপনার উদাহরণের মতো:

library(MASS)
contr.sdif(5)

#   2-1  3-2  4-3  5-4
#1 -0.8 -0.6 -0.4 -0.2
#2  0.2 -0.6 -0.4 -0.2
#3  0.2  0.4 -0.4 -0.2
#4  0.2  0.4  0.6 -0.2
#5  0.2  0.4  0.6  0.8

4

তাহলে উপরের ম্যাট্রিক্স হল আপনি কীভাবে ডামি ভেরিয়েবল (তোমার কি ক্ষণস্থায়ী হয় এনকোডিং হয় Cবা contrastদ ফাংশন) তারপর তারা প্রথম এক অন্যদের কাছে 1 ম স্তর তুলনা করা হয় (আসলে 0.8 বার 1 ম 0.2 বার থেকে বিয়োগ অন্যদের যোগফল)।

দ্বিতীয় পদটি 1 ম 2 টি স্তরকে শেষ 3 এর সাথে তুলনা করে The তৃতীয়টি 1 ম 3 টি সর্বশেষ 2 এর সাথে তুলনা করে এবং চতুর্থটি 1 ম 4 টি শেষের সাথে তুলনা করে।

আপনি যে তুলনাগুলি বর্ণনা করেছেন তা যদি করতে চান (প্রতিটি জুটির তুলনা করুন) তবে আপনি যে ডামি ভেরিয়েবল এনকোডিংটি চান তা হ'ল:

      [,1] [,2] [,3] [,4]
[1,] -0.8 -0.6 -0.4 -0.2
[2,]  0.2 -0.6 -0.4 -0.2
[3,]  0.2  0.4 -0.4 -0.2
[4,]  0.2  0.4  0.6 -0.2
[5,]  0.2  0.4  0.6  0.8

এর aov()পরিবর্তে ব্যবহার করার সময় কি এই সাধারণীকরণভুক্ত ম্যাট্রিক্সের ব্যবহারও প্রয়োজনীয় lm()? আমি জিজ্ঞাসা করছি, কারণ আমি বেশ কয়েকটি টিউটোরিয়াল পড়েছি, যার জন্য বিপরীতে ম্যাট্রিকগুলি aov()রোমানের দেওয়া মতই নির্মিত হয়েছে। যেমন cran.r-project.org/doc/contrib/Vnesneswaran-ED_companion.pdf
crs

2
aovফাংশন কল lmপ্রধান কম্পিউটেশন করতে, তাই এর বিপরীতে ম্যাট্রিক্স ভালো জিনিস উভয় একই প্রভাব ফেলবে ফাংশন।
গ্রেগ স্নো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.