我有一个数据框,其中有数百万行和三列,标记为“关键字”、“展示次数”、“点击次数”。我想添加一列,其中的值取决于此函数的评估:
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
想要的输出:
关键字、展示次数、点击次数、类型
“你好”,0,0,“ZeroImp”
“世界”,1,0,“无点击”
“R”,34,23,“有点击”