例如,我有两个变量a和b.他们都是数字.我想检查他们是否有相同的标志(正面或两面都是负面的)或者它们有不同的标志.如果其中一个是0(它们不能都是0),那么我认为它们是不同的签名.我知道我可以写
if (a*b<=0) ...
Run Code Online (Sandbox Code Playgroud)
但我不认为这是一个好方法,因为a和b都是大数字,R给出警告:
Warning message:
In b[i - 1, 4] * b[i, 4] :NAs produced by integer overflow
Run Code Online (Sandbox Code Playgroud)
提前致谢!
一个好主意是使用sign()R中的函数返回1或者-1如果数字是正数还是没有,0如果数字是0,你可以像这样链接这些:
sign(x)==sign(y)
编辑:感谢关于返回1/-1/0而不是TRUE或FALSE的更正,我完全错过了当我今天早上玩它时.