gpt4 book ai didi

r - data.table 避免回收

转载 作者:行者123 更新时间:2023-12-04 14:38:45 25 4
gpt4 key购买 nike

我正在构建一个 data.table来自两个(或更多)不同长度的输入向量:

x <- c(1,2,3,4)
y <- c(8,9)

dt <- data.table(x = x, y = y)

并且需要用 NA 填充较短的向量而不是回收它们的值,导致 data.table像这样:
   x  y
1: 1 8
2: 2 9
3: 3 NA
4: 4 NA

有没有办法在不使用 NA 显式填充较短向量的情况下实现这一点?在将它们传递给 data.table() 之前构造函数?

谢谢!

最佳答案

可以使用超出范围的索引:

library("data.table")

x <- c(1,2,3,4)
y <- c(8,9)
n <- max(length(x), length(y))

dt <- data.table(x = x[1:n], y = y[1:n])
# > dt
# x y
# 1: 1 8
# 2: 2 9
# 3: 3 NA
# 4: 4 NA

或者您可以扩展 y通过这样做(如@Roland 在评论中推荐的那样):
length(y) <- length(x) <- max(length(x), length(y))
dt <- data.table(x, y)

关于r - data.table 避免回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com