我想定义一个函数,当我输入一个字符串作为协变量时,该函数会将我的字符串放在特定位置并将其转换为公式。我知道我的代码不正确,但我不知道如何编写。
我想要的是,当我输入covars <- "+s(time,bs= 'cr',fx=TRUE,k=7)"该函数时,该函数将添加covars到这样的公式中gam.model <- gam(cvd ~ pm10 +s(time,bs= 'cr',fx=TRUE,k=7), data = chicagoNMMAPS , family =poisson, na.rm=T)
library(dlnm) # use chicagoNMMAPS data
library(mgcv)
# define myfun
myfun <- function(covars){
covars <- covars
gam.model <- gam(cvd ~ pm10 + covars, data = chicagoNMMAPS , family =poisson, na.rm=T)
summary(gam.model)
}
myfun("+s(time,bs= 'cr',fx=TRUE,k=7)")
Run Code Online (Sandbox Code Playgroud)
myfun 应该这样做:
gam.model <- gam(cvd ~ pm10 + covars, data = chicagoNMMAPS , family =poisson, na.rm=T)
Run Code Online (Sandbox Code Playgroud) 所以,现在我正在开发另一个电子表格项目,这次我想知道如何使用平均公式和数组公式,使它们在每次输入新数据时自动拖动。
这是我的电子表格中的图片。所以我想使用平均公式和 arrayformula 对它们从 CH 列到 CL 列进行平均。
我已经尝试了所有“Averageif”或“Average”并使用 arrayformula,但结果是“#DIV/0”
你们能帮我吗?谢谢。
spreadsheet formula google-sheets array-formulas google-sheets-formula
我已经通过这个公式实现了超级:
BASIC UPPERBAND = (HIGH + LOW) / 2 + Multiplier * ATR
BASIC LOWERBAND = (HIGH + LOW) / 2 - Multiplier * ATR
FINAL UPPERBAND = IF( (Current BASICUPPERBAND < Previous FINAL UPPERBAND) and (Previous Close > Previous FINAL UPPERBAND)) THEN (Current BASIC UPPERBAND) ELSE Previous FINALUPPERBAND)
FINAL LOWERBAND = IF( (Current BASIC LOWERBAND > Previous FINAL LOWERBAND) and (Previous Close < Previous FINAL LOWERBAND)) THEN (Current BASIC LOWERBAND) ELSE Previous FINAL LOWERBAND)
SUPERTREND = IF(Current Close <= …Run Code Online (Sandbox Code Playgroud) 我应该使用给定的函数及其参数编写平方和的公式。我可以添加变量,但我似乎无法做到正确。我想出的公式仅计算两个数字之间的总和(而不是平方和)。
int sumOfSquares(int nLowerBound,
int nUpperBound) {
// your code here
int nSum;
nSum = ( (nUpperBound * (nUpperBound + 1)) - (nLowerBound * (nLowerBound - 1)) ) / 2;
return nSum;
}
Run Code Online (Sandbox Code Playgroud) 我在我的程序中有这个代码:(我为调试目的包含了cout语句)
cout << "b: " << b << "\na: " << a;
constant[0] = (-b / (2 * a));
cout << "\nconstant: " << constant[0] << endl;
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
b: -4
a: 3
constant: 0
Run Code Online (Sandbox Code Playgroud)
虽然我试图使常数[0]等于 - ( - 4)/(2*3),或0.6666 ......我在那里放置的公式我做错了什么?
我正在计算python中线段的长度,但我不明白为什么一段代码给我零,另一段给出正确的答案.
这段代码给了我零:
def distance(a, b):
y = b[1]-a[1]
x = b[0]-a[0]
ans=y^2+x^2
return ans^(1/2)
Run Code Online (Sandbox Code Playgroud)
这个给了我正确的答案:
import math as math
def distance(a, b):
y = b[1]-a[1]
x = b[0]-a[0]
ans=y*y+x*x
return math.sqrt(ans)
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个250k的电子邮件地址列表.电子邮件地址位于工作表的A列中.我试图将此列表中不重复的每个电子邮件地址提取到它自己的列(C)中.由于这些电子邮件地址中有70-75%是重复的,因此我应该留下大约4万个唯一的电子邮件地址.
任何有关这方面的帮助将非常感激.
我有一个excel工作簿,其中工作表名为"1","2","3"等.
我希望能够动态访问它们的内容,例如,如果我在单元格A2中的页面"3"上有一个等于2的值,我希望能够做类似的事情
=IF('(A2)'!L4 = "", 0.0, '(A2)'!L4)
Run Code Online (Sandbox Code Playgroud)
在页面"3"上的另一个单元格中访问页面"2"上的单元格L4.有一个简单的方法吗?
提前致谢
每当我尝试运行它时,它都会返回错误的解决方案,例如:
A:303
B:405
C:50
真正的解决方案:-0.13762776465722773
我的解决方案:-110079.531250
#include <stdio.h>
#include <math.h>
int main(){
float a;
float b;
float c;
float solution;
float d;
printf("A: ");
scanf("%f", &a);
printf("B: ");
scanf("%f", &b);
printf("C: ");
scanf("%f",&c);
d = b * b - 4 * a * c;
solution = (-b - sqrt(d))/ 2*a;
printf("%f", solution);
}
Run Code Online (Sandbox Code Playgroud) 这应该很简单,我正在尝试比较一个时间值是否小于(或大于)另一个时间值。
=IF(A1 > B1,True,False)
Run Code Online (Sandbox Code Playgroud)
其中A1和B1是[h]:mm格式的小时和分钟数。
A1 is 48:45 in [h]:mm format
B1 is 50:00 in [h]:mm format
Run Code Online (Sandbox Code Playgroud)
如果我想用绝对时间(例如五十小时)替换公式中的B1,我可能会回答:
=IF(A1 > TEXT("50:00", "[h]:mm"),True,False)
=IF(A1 > TIME(50,00,0),True,False)
Run Code Online (Sandbox Code Playgroud)
但事实并非如此。有任何想法吗?