मेरे पास एक बड़ा डेटा फ्रेम है जो इस तरह दिखता है:

df
   X1 X2 
1  A  B  
2  A  C  

और दूसरा जो इस तरह दिखता है

df2
    Type Group
1  Train     A
2   Boat     B
3    Car     A
4 Hangar     C

मैं df2 को df1 में सम्मिलित करना चाहता हूं और हर बार जब मैं सम्मिलित करता हूं तो पूरी पंक्ति की प्रतिलिपि बनाना चाहता हूं, इसलिए मैं इसके साथ समाप्त होता हूं

  X1 X2 X3    
1  A  B Train
2  A  B Car   
3  A  B Boat
4  A  C Train
5  A  C Car
6  A  C Hangar

आर में ऐसा करने का सबसे अच्छा तरीका क्या है? इसका पता नहीं चल पा रहा है।

r
0
SuchARush 11 सितंबर 2020, 16:53

1 उत्तर

सबसे बढ़िया उत्तर

मुझे यकीन नहीं है कि मैं आपके उद्देश्य को सही ढंग से समझता हूं, लेकिन नीचे मेरा आधार आर प्रयास है

do.call(
  rbind,
  c(
    make.row.names = FALSE,
    lapply(
      1:nrow(df2),
      function(k) {
        cbind(
          df[which(df == df2$Group[k], arr.ind = TRUE)[, "row"], ],
          X3 = df2$Type[k]
        )
      }
    )
  )
)

जो देता है

  X1 X2     X3
1  A  B  Train
2  A  C  Train
3  A  B   Boat
4  A  B    Car
5  A  C    Car
6  A  C Hangar
0
ThomasIsCoding 11 सितंबर 2020, 17:31