问题描述
我正在尝试编写一个计算h点的函数。该功能是在秩频率数据帧上定义的。 考虑以下data.frame:
DATA <-data.frame(frequency=c(49,48,46,38,29,24,23,22,15,12,10,9,9),rank=c(seq(1,15)))
和h点的公式是:
如果{存在r = f(r),h点= r }
否则{h-point = f(i)j-f(j)i / j-i + f(i)-f(j)}
其中 f(i)和 f(j)是ith和j等级的相应频率, i 和 j 是 i
现在,我已经尝试了以下代码:
fr <-function(x){d <-DATA$frequency[x]
return(d)}
for (i in 1:length(DATA$rank)) {
j <- i+1
if (i==fr(i))
return(i)
else(i<fr(i) && j>fr(j)) {
s <-fr(i)*j-fr(j)*i/j-i+fr(i)-fr(j)
return(s)
}}
我也尝试过:
for (i in 1:length(DATA$rank)) {
j <- i+1
if (i==fr(i))
return(i)
if (i<fr(i) while(j>fr(j))) {
s <-fr(i)*j-fr(j)*i/j-i+fr(i)-fr(j)
return(s)
}}
,它们都不起作用。对于 DATA ,所需结果将是 i = 11 和 j = 12 ,因此: h点= 12×12-10×11 / 12-11 + 12-10
你能告诉我我在做什么错吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)