几年前我在一家电信公司工作,我不得不根据以下算法生成一个计算呼叫持续时间的公式:
如果RCT小于t1,则如果RCT大于t1则CD等于t1
,则CD = t1 + x*t2,其中x将"舍入"RCT到t2的下一个最高倍数.
该算法转换为:"第一个t1秒充电,然后每隔t2秒充电".
例:
t1 t2 RCT CD
60 10 48 60
60 10 65 70
60 10 121 130
30 20 25 30
30 20 35 50
30 20 65 70
Run Code Online (Sandbox Code Playgroud)
你能创建一个能够返回"呼叫持续时间"CD的函数/ SQL吗?
不使用if then else ......?
我想编写一个R函数,它接受一个公式作为它的第一个参数,类似于lm()或glm()和朋友.在这种情况下,它是一个获取数据框并以SVMLight格式写出文件的函数,它具有以下通用形式:
<line> .=. <target> <feature>:<value> <feature>:<value> ... <feature>:<value> # <info>
<target> .=. +1 | -1 | 0 | <float>
<feature> .=. <integer> | "qid"
<value> .=. <float>
<info> .=. <string>
Run Code Online (Sandbox Code Playgroud)
例如,以下数据框:
result qid f1 f2 f3 f4 f5 f6 f7 f8
1 -1 1 0.0000 0.1253 0.0000 0.1017 0.00 0.0000 0.0000 0.9999
2 -1 1 0.0098 0.0000 0.0000 0.0000 0.00 0.0316 0.0000 0.3661
3 1 1 0.0000 0.0000 0.1941 0.0000 0.00 0.0000 0.0509 0.0000
4 -1 …
Run Code Online (Sandbox Code Playgroud) 我正在创造一个玩家可以制作合金的游戏.为了使其不那么可预测和更有趣,我认为合金的耐久性和硬度不应该用一个简单的公式来计算,因为它很容易找到极值,其中合金有最好的统计数据.
所以问题是,是否有一个函数的公式,只有通过调查所有点才能找到极值?输入值将以百分比表示:0.0%-100.0%.我认为它应该是这样的:半声波
在R Formula包中,它引入了多部分公式的概念y ~ x1 + x2|I(x1^2)
.这个公式在数学上意味着什么?这个怎么样从不同的y ~ x1 + x2 + I(x1^2)
两个独立的y ~ x1 + x2
和y ~ I(x1^2)
?
在360度圆上给出两度.让我们称它们为源和目的地.
例如,Source可以是120度,Destination可以是30度.
是否有一个优雅的解决方案,从源到目的地的哪个行进方向更短,即它是顺时针(增加度)还是逆时针(减少度)?
例如,对于上面给出的度数,解决方案将是:逆时针方向.另一方面,Source为350,Destination为20,那么解决方案将是:顺时针转.
我有一个关于通过控制点弯曲公式的问题.如你所知,HTML帆布具有quadraticCurveTo(x1, y1, x2, y2)
与x1 and x2
作为控制点.
但是,当您尝试使用它绘制笔划时,笔划将永远不会触及控制点.
所以我们有这个公式:
x1 = xt * 2 - (x0 + x2) / 2;
y1 = yt * 2 - (y0 + y2) / 2;
Run Code Online (Sandbox Code Playgroud)
(xt, yt)
=你要弯曲的点.t
切线,因为它在该点垂直90度.
这会重新计算控制点位置.
我从一本书中得到了这个公式,但是这本书没有解释它是如何衍生出来的.我试过谷歌但是徒劳无功.
谁知道这个公式是如何衍生出来的?
谢谢,维恩.
我需要一个excel公式来计算从固定级别到列中最后一个单元格的所有列单元格的SUM.如:从S5到最后一个S单元的SUM.
我试过了:SUM(S5:S)
但是没用.
有一个单元格的行数.我可以在公式中使用变量,例如:SUM(S5:S & A1)
A1包含行数吗?
我有一个数据框和存储在变量中的公式:
> d <- data.frame(cls=1, foo=2, bar=3)
> f <- formula(cls ~ .)
Run Code Online (Sandbox Code Playgroud)
我想以编程方式从该公式的RHS中删除一个变量(在我的代码中,此变量的名称将作为字符串传递到某处).我试过用update.formula
:
> update(f, .~.-foo)
Error in terms.formula(tmp, simplify = TRUE) :
'.' in formula and no 'data' argument
Run Code Online (Sandbox Code Playgroud)
然后我试着提供这个data
论点:
> update(f, .~.-foo, data=d)
Error in terms.formula(tmp, simplify = TRUE) :
'.' in formula and no 'data' argument
Run Code Online (Sandbox Code Playgroud)
我知道如果初始公式在右侧没有点,上述情况将起作用:
> f <- formula(cls ~ foo + bar)
> update(f, .~.-foo)
cls ~ bar
Run Code Online (Sandbox Code Playgroud)
如果我无法确保RHS不包含点,如何从公式的RHS中删除变量?
我有类似的东西
y ~ x + z
Run Code Online (Sandbox Code Playgroud)
我想将其转化为
y ~ x_part1 + x_part2 + z
Run Code Online (Sandbox Code Playgroud)
更一般地说,我希望有一个函数,它接受一个公式并返回该公式,所有匹配"^ x $"的项被"x_part1"和"x_part2"替换.这是我目前的解决方案,但它只是感觉如此kludgey ...
my.formula <- fruit ~ apple + banana
var.to.replace <- 'apple'
my.terms <- labels(terms(my.formula))
new.terms <- paste0('(',
paste0(var.to.replace,
c('_part1', '_part2'),
collapse = '+'),
')')
new.formula <- reformulate(termlabels = gsub(pattern = var.to.replace,
replacement = new.terms,
x = my.terms),
response = my.formula[[2]])
Run Code Online (Sandbox Code Playgroud)
另一个警告是输入公式可以通过交互指定.
y ~ b*x + z
Run Code Online (Sandbox Code Playgroud)
应输出这些(等效)公式之一
y ~ b*(x_part1 + x_part2) + z
y ~ b + (x_part1 + x_part2) + b:(x_part1 …
Run Code Online (Sandbox Code Playgroud) 在在线游戏中,您可以实现奖励和其他基于能量的目标.一个人可能需要总共24,000个能量,这是一个基于时间的能量,而其他人只有25个.基于在用户睡觉或诸如此类的情况下以0能量开始并且没有能量损失,我希望计算获取需要多长时间所需的能量.
--------------------------------------------------------------------
| Energy | Cooldown | Additional | Limit | wait |
| | | Energy | | |
--------------------------------------------------------------------
| Natural | 10 minutes | 5 | N/A | Y |
| Booster 1 | 24 hours | 150 | 1 p/24h | Y |
| Booster 2 | 6 hours | 150 | 4 p/24h | N |
| Booster 3 | 6 hours | 250 | 4 p/24h | Y |
--------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
一个人在24小时内可以达到的总能量是2,470,通过720自然能量,150来自Booster 1,600来自Booster 2,1,000来自Booster …