BaşlayınÜcretsiz Başlayın

Bağlamla birlikte adları çıkar

Hadi yine İsviçreli politikacılarla ilgili veri kümesini ele alalım. İki değişkenden oluşuyor: İsviçre siyasetiyle ilgili haberlerden oluşan articles ve İsviçreli politikacıların birkaç adını içeren bir vektör olan politicians.

Kişi başına görülen ad sayısını zaten saydın; peki yalnızca adları saymakla kalmayıp bu adların hangi bağlamda geçtiğini de görsen ilginç olmaz mıydı? Örneğin, kadın ve erkek politikacılar için bağlamların farklı olup olmadığını karşılaştırabilirsin. Bunu yapmak için, politikacı adlarımızın çevresindeki metni çıkarman gerekecek.

Metin hem kelime karakterleri \\w hem de nokta . veya virgül , gibi noktalama işaretleri [:punct:] içerdiğinden, bu iki karakter türünü de eşleştiren bir desen oluşturman gerekecek.

Bu egzersiz

R ile Orta Düzey Düzenli İfadeler

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • politicians vektörünü kullan ve bölüm 2'de yaptığın gibi bir "veya deseni" oluşturmak için birleştir.
  • Hem kelime karakterlerini hem de noktalama işaretlerini eşleştiren köşeli parantez [] içinde özel bir desen oluştur.
  • glue kullanarak, yeni oluşturduğun context ifadesini polit_pattern ifadesinin hem önüne hem de arkasına ekle. \\s?, politikacı adlarından sonra bir boşluk olabileceğini ya da hiç olmayabileceğini belirtir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create our polit_pattern again by collapsing "politicians"
polit_pattern <- glue_collapse(___, sep = "|")

# Match one or more word characters or punctuations
context <- "([___[___]]+\\s){0,10}"

# Add this pattern in front and after the polit_pattern
polit_pattern_with_context <- glue(
  "{___}({polit_pattern})\\s?{___}"
)

str_extract_all(
  articles$text,
  pattern = polit_pattern_with_context
)
Kodu Düzenle ve Çalıştır