[]

R Merge Sorusu

Delirdim.

Elimde iki veri var. Birini World Bank'ten çekiyorum, diğerini Excel dosyasından. İkisinde de sütun adı country, ikisinde de ülkeler var. Birinde 195, diğerinde 167 tane. Sonra bildiğimiz, yediğimiz merge olayını yapıyorum:

a <- merge(x, y, by = "country")

Fakat bu iki tabloyu birleştirmek yerine bana boş bir tablo veriyor.

Nedendir ki? Neyle aşarım bunu, bilen var mı? Caps de ekledim ki inandırıcı olsun :/ Diğer tabloda da, bundaki gibi, country sütunu var. Olmasa, veya isimler aynı olmasa anlayacağım.

Typeof da denedim, as.character de denedim, denedim de denedim. Olmuyor :/

Şimdiden teşekkürler cevaplayan olursa.

 
fotoğrafların çözünürlüğü düşük okunmuyor, başka bir yere upload eder misin.


  • glore  (21.05.20 16:21:18) 
geldi hemen:

ibb.co
ibb.co

Başka neler yaptım?

by.x ve by.y tabi ki. Yemedi. Select dedim dplyr ile, sadece ülkelerle oynayacağım verileri çektim. Yemedi. Melt mi desem diyorum, aklıma gelen başka bir şey yok :/
  • cagdas donem kuramcisi  (21.05.20 16:24:09 ~ 16:27:48) 
ben projemde world bank'tan çektiğim verileri python ile birleştirdim. kodu paylaşıyorum.

import pandas as pd

df = []
df.append(pd.read_excel('file1.xlsx', index_col=0))
df.append(pd.read_excel('file2.xlsx', index_col=0))

df_merged = reduce(lambda left,right: pd.merge(left,right,on=['Country'], how='right'), df).fillna('void')
  • glore  (21.05.20 16:29:52 ~ 16:30:51) 
Dataframelerden birinin country kolonunda boşluk falan kalmış olabilir mi?


  • evrim halkasi  (21.05.20 16:36:49) 
Sanırım saçmalık şu: İkisinde de country sütunu var ama ne hikmetse bunları farklı karakterler olarak okuyor. Yani bir tek satır bile vermemesinin başka izahı yok. Bu da elle doldurmam gerek demek zira Python da bunları birleştirirken karakterler aynı mı diye bakacak :/

Baktım şimdi, country'de boşluk yok. Kaçar yok, elle tek tek eklemece şimdi. Nasıl farklı karakterler olarak okuyor, onu çok merak ettim ama :/

Çok teşekkürler - ve olur da başka bir açıklamanız olursa lütfen söyleyin. Elle düzeltsem şimdiye on kere yapmıştım, olmuyor :/
  • cagdas donem kuramcisi  (21.05.20 16:53:22) 
Excel'i açınca buldum: Gerçekten country sütununda ülke adlarından önce bir boşluk var. Ondan merge edemedi.

En azından sorunun ne olduğunu bulabildim, bana bir alkış? :/

Çok teşekkürler size. Olur da ilgilenen olursa diye de soruyu silmiyorum, belki birinin işine yarar ileride.

Caps de atayım da destekli sallayayım:

ibb.co
  • cagdas donem kuramcisi  (21.05.20 16:57:31 ~ 17:00:49) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.