मेरे पास दो डेटाफ्रेम हैं जिनमें प्रत्येक दो कॉलम हैं (उदाहरण के लिए, एक्स और वाई)। मुझे दो डेटाफ्रेम की तुलना करने की आवश्यकता है और देखें कि एक्स या वाई या दोनों एक्स और वाई दोनों में से कोई भी मान दो डेटाफ्रेम में समान है या नहीं।दो डेटाफ्रेम की तुलना कैसे करें?
उत्तर
all.equal
फ़ंक्शन का उपयोग करें। यह डेटा फ्रेम को सॉर्ट नहीं करता है। यह प्रत्येक सेल को उसी सेल के विरुद्ध data frame
में बस प्रत्येक सेल की जांच करेगा। आप identical()
फ़ंक्शन का भी उपयोग कर सकते हैं।
उदाहरण के बिना मैं निश्चित नहीं हो सकता कि मैं समझता हूं कि आप क्या चाहते हैं। हालांकि, मुझे लगता है कि आप ऐसा कुछ चाहते हैं। यदि हां, तो वही काम करने के लगभग निश्चित तरीके हैं।
a <- matrix(c(1,2,
3,4,
5,6,
7,8), nrow=4, byrow=T, dimnames = list(NULL, c("x","y")))
b <- matrix(c(1,2,
9,4,
9,6,
7,9), nrow=4, byrow=T, dimnames = list(NULL, c("x","y")))
cc <- matrix(c(NA,NA,
NA,NA,
NA,NA,
NA,NA), nrow=4, byrow=T, dimnames = list(NULL, c("x","y")))
for(i in 1:dim(a)[1]) {
for(j in 1:dim(a)[2]) {
if(a[i,j]==b[i,j]) cc[i,j]=a[i,j]
}
}
cc
संपादित करें 8 जनवरी, 2013
निम्न पंक्ति आपको बता देंगे जो कोशिकाओं दो मैट्रिक्स के बीच भिन्न:
which(a != b, arr.ind=TRUE)
# row col
# [1,] 2 1
# [2,] 3 1
# [3,] 4 2
दो मेट्रिसेस, ए और बी, तो समान हैं, तो :
which(a != b)
# integer(0)
which(a != b, arr.ind=TRUE)
# row col
संपादित करें जनवरी 9, 2012
निम्न कोड उस प्रभाव को दर्शाता है जो पंक्ति नाम identical
, all.equal
और which
पर हो सकता है जब दो डेटा फ्रेमों में से एक तीसरे डेटा फ्रेम को सब्सक्राइब करके बनाया जाता है। यदि दो डेटा फ्रेम की तुलना में पंक्ति नाम भिन्न होते हैं तो न तो identical
और न ही all.equal
TRUE
वापस आ जाएगा। हालांकि, which
को दो डेटा फ्रेम के बीच कॉलम x
और y
की तुलना करने के लिए अभी भी उपयोग किया जा सकता है। यदि दो डेटा फ्रेम की तुलना में पंक्ति नाम NULL
पर सेट किए गए हैं तो identical
और all.equal
दोनों TRUE
वापस आ जाएंगे।
df1 <- read.table(text = "
group x y
1 10 20
1 10 20
1 10 20
1 10 20
2 1 2
2 3 4
2 5 6
2 7 8
", sep = "", header = TRUE)
df2 <- read.table(text = "
group x y
2 1 2
2 3 4
2 5 6
2 7 8
", sep = "", header = TRUE)
# df3 is a subset of df1
df3 <- df1[df1$group==2,]
# rownames differ between df2 and df3 and
# therefore neither 'all.equal' nor 'identical' return TRUE
# even though the i,j cells of df2 and df3 are the same.
# Note that 'which' indicates no i,j cells differ between df2 and df3
df2
df3
all.equal(df2, df3)
identical(df2, df3)
which(df2 != df3)
# set row names to NULL in both data sets and
# now both 'all.equal' and 'identical' return TRUE.
# Note that 'which' still indicates no i,j cells differ between df2 and df3
rownames(df2) <- NULL
rownames(df3) <- NULL
df2
df3
all.equal(df2, df3)
identical(df2, df3)
which(df2 != df3)
- 1. दो तिथियों की तुलना करें
- 2. दो UIImages की तुलना करें
- 3. दो एनएसएसआरिंग्स की तुलना करें
- 4. दो प्रश्नों की तुलना कैसे करें?
- 5. दो एनएसआईएनटेगर की तुलना कैसे करें?
- 6. दो NSIndexPaths की तुलना कैसे करें?
- 7. दो regexps की तुलना कैसे करें?
- 8. दो सरणीसूची की तुलना कैसे करें?
- 9. दो डेटाटाइम्स की तुलना कैसे करें
- 10. दो डेटाबेस की संरचनाओं की तुलना करें?
- 11. की तुलना दो ArrayList
- 12. केवल दिनांक भाग की तुलना कैसे करें और दो तिथियों के समय की तुलना कैसे करें?
- 13. दो छवियों की तुलना करें, और%
- 14. जावा में दो तिथियों की तुलना करें
- 15. दो सरणी की सामग्री की तुलना कैसे करें?
- 16. दो छवि स्केलिंग एल्गोरिदम की "गुणवत्ता" की तुलना कैसे करें?
- 17. चींटी: दो फ़ाइलों की सामग्री की तुलना कैसे करें
- 18. दो Arrays की तुलना
- 19. दो ऑब्जेक्ट्स की तुलना
- 20. दो वस्तुओं की तुलना।
- 21. दो सीजीआरईटी की तुलना
- 22. दो ऑडियो फ़ाइलों की तुलना करें
- 23. दो पांडा डेटाफ्रेम जोड़ना
- 24. जावा दो मानचित्र की तुलना करें
- 25. दो बाइट Arrays की तुलना करें? (जावा)
- 26. (कोल्डफ्यूजन) दो तिथियों की तुलना करें,
- 27. दो fxcop परिणामों की तुलना करें
- 28. दो वैक्टरों की तुलना करें सी ++
- 29. एक्सेल दो कॉलम की तुलना करें और
- 30. LINQ दो सूचियों की तुलना करें और
हमें यह जानने की आवश्यकता होगी कि डेटा फ्रेम में क्या है: पूर्णांक, संख्यात्मक, कारक, कुछ और? उदाहरण के लिए यादृच्छिक संख्यात्मक डेटा युक्त एक साधारण उदाहरण डेटा फ्रेम 'df1 <- data.frame (x = rnorm (10), y = rnorm (10)) द्वारा किया जा सकता है, और इनमें से दो को सीधे घटाया जा सकता है बशर्ते उनके पास समान कॉलम नाम (लेकिन आपकी पंक्तियों का क्रम सही उत्तर के लिए महत्वपूर्ण होगा)। –