1
不能環繞這個任務我心裏R:與其他特徵向量匹配特徵向量
考慮一個數據幀「USA」 3列,「標題」,「城市」和「國家」(可重複) :
title <- c("Events in Chicago, September", "California hotels",
"Los Angeles, August", "Restaurant in Chicago")
city <- c("","", "Los Angeles", "Chicago")
state <- c("","", "California", "IL")
usa <-data.frame(title, city, state)
造成這種:
title city state
1 Events in Chicago, September
2 California hotels
3 Los Angeles, August Los Angeles California
4 Restaurant in Chicago Chicago IL
現在我所要做的是填補了狀態變量的第2個觀察值,這是現在下落不明。
TITLE變量包含一條線索:在每個條目中提及城市或州。
我需要做到以下幾點:
- 檢查是否在「標題」列中的任何字在「城市」和「國家」欄中發現的任何意見一致;
- 如果「標題」中的任何單詞與「狀態」中的任何觀察值相匹配,請將相同的狀態粘貼到給定標題的觀察值;
- 如果「標題」中的任何單詞與「城市」中的任何觀察值匹配,則將匹配的城市狀態粘貼到標題行的「狀態」列中。
所以我想最終是這樣的:
title city state
1 Events in Chicago, September IL
2 California hotels California
3 Los Angeles, August Los Angeles California
4 Restaurant in Chicago Chicago IL
換句話說,第二行中的標題包含一個詞「加州」,所以匹配狀態從狀態向量中。然而,在第一行中,「芝加哥」這個詞是關鍵,數據框中還有另外一個條目(第4行),它將芝加哥與「IL」狀態聯繫起來,所以「IL」必須粘貼在第一行行「狀態」列。
等待社區的想法:)謝謝!
感謝您的關注!但是,我需要每行的狀態值,這就是訣竅。而在第一線,你有NA的狀態 – Denis
那麼這是一個簡單的修復。你只需要有一張將所有城市映射到其狀態的列表。 –
再次感謝:)一個簡單的問題 - 提到的數據是一個更大的數據框的一部分。我應該將所需的數據進行子集轉換,採取您提出的所有步驟,然後將數據粘貼到初始數據框中? – Denis