for (i in 1:99653)
{
for(j in 1:3226)
{
if (grepl(cdata$LegDigitsDialed[i],sdata$SavedPhone[j]) == TRUE)
{
cdata$category[i] = "Supplier"
cdata$su_name[i] = sdata$sushortname[j]
}
else
{
cdata$category[i] = "Customer"
cdata$su_name[i] = "Null"
}
}
}
У меня есть два фрейма данных, и я хочу классифицировать каждый элемент столбца на основе присутствия во втором фрейме данных.
Мои данные выглядят так:
>cdata
LegDigitsDialed
"a"
"b"
"c"
>sdata
SavedPhone
"aa"
"c"
То, что я хочу, это:
LegDigitsDialed category
"a" "Supplier"
"b" "Customer"
"c" "Supplier"
Таким образом, в основном мой псевдокод является
for (i=1,i<100000,i++) for(j=1,j<3500,j++)
{
if (j contains i) //partial string matching
populate i(different column) with some value
else
populate i(different column) with some other value
}
, этот скрипт в R выполняется уже более 24 часов, и только одна треть записи были обработаны. Есть ли способ оптимизировать этот код?