Поиск слов столбца в текстах другого столбца - PullRequest
0 голосов
/ 03 марта 2020

У меня есть таблица 1500 * 6 и столбец 3000 (Seg.name). Вы видите их части здесь.

Мне нужно найти строки в столбце R.name в таблице, в которых есть слово в столбце Seg.name. Например, он ищет «ИСТИНА» в столбце R.name, чтобы найти, встречалось ли это слово в какой-либо из строк в R.name. Если находит его, то заменяет счет на ИСТИНА, в противном случае счет считается как NA. Вот почему у меня есть две петли For.

У меня также есть ifelse и часть кода l oop. Код работает без ошибок, но сохраняет только буквы в столбце count! например, вместо Pemex, он имеет P и так один. Как вы думаете, что здесь происходит?

**Year  Rystad Operator Names    Country**
2018    Pemex                    Mexico
2018    Other partner(s) US      United States
2018    PetroChina               China
2018    Equinor                  Norway
2018    Saudi Aramco             Saudi Arabia

Имя сегмента

TRUE
ZYNERGY
ZUEITINA
ZINSZER
ZENITH

для l oop код:

for (j in 1:1000)

{
 for (i in 1:20)
{
test=mapply(grepl, pattern=data.s$Seg.name[j], x=data.r$R.name[i], fixed=TRUE)
if (test == TRUE) data.r$count[i]=data.s$Seg.name[j] else {
    if (data.r$count[i]=="NA")  data.r$count[i]="NA" else data.r$count[i]=data.r$count[i]
}        
}
}
return(data.r)

data.r возвращается в следующем формате:

**Year  R.name                   Country            count   pass**
2018    Pemex                     Mexico               P    NA
2018    Other partner(s) US       United States        S    NA
2018    PetroChina                China                P    NA
2018    Equinor                   Norway               NA   NA
2018    Saudi Aramco              Saudi Arabia         S    NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...