如何在R'中取消类型转换;s应用(位64示例)
我在一些R代码中使用bit64包。我已经创建了一个向量 然后尝试使用如何在R'中取消类型转换;s应用(位64示例),r,64-bit,sapply,R,64 Bit,Sapply,我在一些R代码中使用bit64包。我已经创建了一个向量 然后尝试使用sapply对这些 向量中的整数。以下是一个例子: v = c(as.integer64(1), as.integer64(2), as.integer64(3)) sapply(v, function(x){is.integer64(x)}) sapply(v, function(x){print(x)}) 都是.integer64(x)和打印(x)给出了不正确的 (或至少)意外答案(错误和不正确的浮点值)。 我可以通过直接
sapply
对这些
向量中的整数。以下是一个例子:
v = c(as.integer64(1), as.integer64(2), as.integer64(3))
sapply(v, function(x){is.integer64(x)})
sapply(v, function(x){print(x)})
都是.integer64(x)
和打印(x)
给出了不正确的
(或至少)意外答案(错误和不正确的浮点值)。
我可以通过直接为向量c
编制索引来避免这种情况,但我有
两个问题:
蒂亚 这是
lappy
的代码:
function (X, FUN, ...)
{
FUN <- match.fun(FUN)
if (!is.vector(X) || is.object(X))
X <- as.list(X)
.Internal(lapply(X, FUN))
}
从帮助(“as.list”)
:
可以删除属性,除非参数已经是列表或
表情
因此,要么从头开始创建列表,要么添加类属性:
v_list <- lapply(as.list(v), function(x) {
class(x) <- "integer64"
x
})
sapply(v_list, function(x){is.integer64(x)})
#[1] TRUE TRUE TRUE
v_列表
v_list <- lapply(as.list(v), function(x) {
class(x) <- "integer64"
x
})
sapply(v_list, function(x){is.integer64(x)})
#[1] TRUE TRUE TRUE