我尝试使用此命令创建一个生存对象。
Surv(date1, date2, event=status)
Run Code Online (Sandbox Code Playgroud)
它导致错误“时间变量不是数字”。请注意,“date1”和“date2”的类别是 Date。
在创建生存对象之前,我是否需要将 Date 对象强制转换为数字?我认为这没有任何意义。
我有一个很大的浮点数作为这样的字符
x<-"5374761693.91823";
Run Code Online (Sandbox Code Playgroud)
在做
as.numeric(x);
Run Code Online (Sandbox Code Playgroud)
我得到以下输出
5374761694
Run Code Online (Sandbox Code Playgroud)
我想在转换时保留数字的浮点性质。
由于有人问我使用前缀“0x”表示十六进制数字背后的原因,我一直在深入研究 BCPL 的历史。
在我的搜索中,我偶然发现了这个代币背后历史的非常好的解释。(为什么十六进制数要加上0x前缀?)
然而,从这篇文章中,又引发了另一个问题:
对于八进制常量,BCPL 是否使用8 <digit>(根据规范:http://cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf)或是否使用#<digit>(根据http://rabbit.eng .miami.edu/info/bcpl_reference_manual.pdf)或者这两种语法在该语言的不同实现中都有效吗?
我还在这里找到了第二个答案,它使用了 # 语法,这进一步引起了我对这个主题的兴趣。(为什么用前导零来表示八进制数?)
任何历史见解都将受到高度赞赏。
我有以下数据:
> vec
[1] 0.0 0.5 1.0 1.4 1.9 2.4 3.1 3.6 4.1 4.6 5.0 5.5 6.0 6.5 7.0 7.4 7.9 8.4 9.1
Run Code Online (Sandbox Code Playgroud)
我需要四舍五入到最接近的 0.5。
让我更具体一点:1.4 变成 1.5,1.9 变成 2.0。此外,2.4 变为 2.5,3.1 变为 3.0。等等。我期望的向量是:
> vec
[1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
非常感谢。
我正在使用 JavaFX 和 PostgreSQL 数据库开发一个小工具。我现在的任务是处理 32 位数字。我用 Long 尝试过,但它太短/小了。
我记得 Postgres 抱怨是因为我没有使用正确的数据类型,这就是为什么我首先在这里询问,然后我再次更改受此问题影响的所有行。
我不会用这个数字进行数学运算,但我需要在其中保存 null。
你有什么建议?字符串,BigInteger?
代码示例:
//...
myObject.setSerialNumber(getLongFromDB(rs, "serialnumber"));
//...
private static Long getLongFromDB(ResultSet rs, String column) throws SQLException {
Long l = rs.getLong(column);
if (rs.wasNull()) l = null; // because getLong is long not Long, I need to know about null
return l;
}
Run Code Online (Sandbox Code Playgroud) 如何优化数值积分例程(与 C 相比)?
目前已经做了什么:
iterator函数)。这带来了 3 倍的加速。cabal exec ghc -- Simul.hs -O2 -fforce-recomp -fllvm -Walltype Sample = (F, F)被替换为
data Sample = Sample {-# UNPACK #-} !F {-# UNPACK #-} !F现在的性能几乎和C代码一样好。我们可以做得更好吗?
{-# LANGUAGE BangPatterns #-}
module Main
where
import qualified Data.Vector.Unboxed as U
import qualified Data.Vector.Unboxed.Mutable as UM …Run Code Online (Sandbox Code Playgroud) 在研究三角形点测试(2D 情况)的各种方法时,我发现使用重心坐标的方法是最常用的一种。这是 StackOverflow 的答案,对此进行了解释。
为什么这种方法是最优选的方法?这可能与计算量减少有关,但是数值稳定性呢?对于点特别靠近边界的情况,该算法是否比“同边”技术更适合?
我有一个数字向量,想使用自定义顺序按名称重新排序。
x <- sample(1:20, 5)
names(x) <- c("feb", "may", "mar", "jan", "apr")
x
feb may mar jan apr
7 10 5 13 11
Run Code Online (Sandbox Code Playgroud)
如您所见,向量不是按月顺序排列的
我希望使用名称通过月份顺序重新排序这个字符向量,即 jan, feb, mar, apr, may...
这怎么可能?
注意:我追求的是一种可以用于所有名称/字符串的方法,而不是专门用于日期对象
我的模拟需要实现
np.log(np.cosh(x))
Run Code Online (Sandbox Code Playgroud)
这会溢出 large x,即我收到RuntimeWarning: overflow encountered in cosh警告。原则上,随着对数减少所讨论的数字,在 的某个范围内x,cosh应该溢出而不log(cosh())应该溢出。
在 NumPy 中是否有任何解决方案,例如在精神上与np.log1p()功能相似?
提供更多信息:我知道一个可能的解决方案可能是符号使用 SymPy https://github.com/sympy/sympy/issues/12671 但是模拟应该很快,并且符号计算 AFAIK 可能会显着减慢它的速度。
有人能指出为什么 Julia 在对某些类型的矩阵进行对角化时会失去对称性吗?(在下面我将忽略归一化常量。)我一直在尝试解决以下 Floquet 矩阵:
U[i,i] = exp(-i^2im/N),
Run Code Online (Sandbox Code Playgroud)
与N基体和其它部件的尺寸是零。显然,这是哈密顿量的“时间演化”
H = p^2/2.
Run Code Online (Sandbox Code Playgroud)
这H是在奇偶校验下对称的,因此U在站点基础上Us = Udft'U*Udft(Udft是离散傅立叶矩阵 stUdft[m,mp] = sqrt(N)^-1 exp(i*j*1im/N)见下文),也就是说,可以检查
Jp*Us - Us*Jp = 0,
Run Code Online (Sandbox Code Playgroud)
在哪里
Jp[i,j] = \delta_{i,N-j+1}
Run Code Online (Sandbox Code Playgroud)
是空间求逆矩阵。然而,本征态不满足奇偶性。如果vs是 的本征态Us,则
Jp*vs = \pm vs,
Run Code Online (Sandbox Code Playgroud)
对于 julia 给出的数值结果,这不会发生。这有点奇怪,因为对于低维,说N=11没有问题,但如果我去,说N=1001然后麻烦开始出现。(在某些条件下,我想N成为奇数。原因是我有粒子被限制在单一圆上移动,并且我希望这些位置围绕零角对称。)为了对角化,我使用Julia 1.2.0和
LinearAlgebra.eigen(Us).
Run Code Online (Sandbox Code Playgroud)
附录:感谢 SGJ 指出 DFT 中的明显错误。构造矩阵我做
M = div(N,2)
m = 1
for ii in -M:M
mp = …Run Code Online (Sandbox Code Playgroud)