У меня есть фрейм данных с миллионами строк и тремя столбцами, помеченными ключевыми словами, показами, кликами.Я хотел бы добавить столбец со значениями в зависимости от оценки этой функции:
isType <- function(Impressions, Clicks)
{
if (Impressions >= 1 & Clicks >= 1){return("HasClicks")} else if (Impressions >=1 & Clicks == 0){return("NoClicks")} else {return("ZeroImp")}
}
пока все хорошо.Затем я пытаюсь сделать это, чтобы создать столбец, но 1) он принимает навсегда и 2) он помечает, что все строки имеют «HasClicks», даже те, где он не должен.
# Creates a dataframe
Type <- data.frame()
# Loops until last row and store it in data.frame
for (i in c(1:dim(Mydf)[1])) {Type <- rbind(Type,isType(Mydf$Impressions[i], Mydf$Clicks[i]))}
# Add the column to Mydf
Mydf <- transform(Mydf, Type = Type)
входные данные:
Ключевые слова, показы, клики
"Привет", 0,0
"Мир", 1,0
"R", 34,23
Требуется вывод:
Ключевые слова, показы, клики, тип
"Hello", 0,0, "ZeroImp"
"World", 1,0, "NoClicks"
"R", 34,23,"HasClicks"