我需要在R中创建一个计算,但计算会根据数字的不同而变化
我有一个巨大的xlsx文件,里面装满了关键字排名,我需要计算排名的可见性。Excel不能处理这么大的文件,所以我正在学习R 无论如何,要计算关键字的可见性,我需要以下公式: 排名*%的搜索量 %取决于排名,而我使用: 1-90%我需要在R中创建一个计算,但计算会根据数字的不同而变化,r,R,我有一个巨大的xlsx文件,里面装满了关键字排名,我需要计算排名的可见性。Excel不能处理这么大的文件,所以我正在学习R 无论如何,要计算关键字的可见性,我需要以下公式: 排名*%的搜索量 %取决于排名,而我使用: 1-90% 2-80% 3-70% 4-60% 5-50% 6-40% 7-30% 8-20% 9-10% 10-5% 11+-0% 当我可以在excel中工作时,我会将上面的图表放在一张表格中,然后根据搜索量对排名和*进行vlookup。例如: Keyword |rank |s
2-80%
3-70%
4-60%
5-50%
6-40%
7-30%
8-20%
9-10%
10-5%
11+-0% 当我可以在excel中工作时,我会将上面的图表放在一张表格中,然后根据搜索量对排名和*进行vlookup。例如:
Keyword |rank |search volume |visibility
keyword1 |1 |1,000 |900
Keyword2 |5 |50,000 |25,000
Keyword3 |12 |3,500 |0
我在R怎么做?我对R非常陌生,尝试了一些使用for循环的方法,但没有任何效果
提前感谢您使用名为rank_data的初始数据帧,如下
keyword rank search_volume
1 A 1 1000
2 B 5 50000
3 C 12 3500
您可以创建一个小函数,并使用dplyr库中的mutate函数将结果附加到新列中
library(dplyr)
visFunc <- function(rank, search_volume){
if(rank == 1){
rank_pct <- 0.90
}
else if(rank == 5){
rank_pct <- 0.50
}
else if(rank > 10){
rank_pct <- 0
}
return(rank_pct * search_volume)
}
visabilityData <- mutate(rank_data, visability = mapply(visFunc, rank,search_volume))
显然,您可以根据需要调整函数。谢谢您的回答,但我还是设法解决了这个问题
我制作了一个电子表格,在a列中有排名,在B列中有可见性%,导入此表格,并将此表格中的排名与主电子表格中的排名合并。然后我可以做所有的计算。嗨,你能粘贴几行数据的
dput
,并显示预期的输出吗?请参见,例如,使用cut
功能创建另一列,其中包含要使用的排名类。然后写一个函数,将rank类和其他输入作为参数,并用这个函数进行计算。我只是查了一下cut,它会在一定程度上起作用。虽然我可以“削减”等级11+并返回0表示可见性,但我仍然需要单独计算等级1-10。有没有更快的方法?谢谢你的帮助。
keyword rank search_volume visability
1 A 1 1000 900
2 B 5 50000 25000
3 C 12 3500 0