gpt4 book ai didi

R data.table - 如何在多列的固定行上插入缺失值

转载 作者:行者123 更新时间:2023-12-04 02:10:51 25 4
gpt4 key购买 nike

a = data.table(c(2,NA,3), c(5,NA,1))

当我尝试对缺失的行进行插值时

a[, approx(x = 1:.N, y = .SD, xout = which(is.na(.SD))), .SDcols = 1:2]

出现以下错误:

Error in xy.coords(x, y) : 'x' and 'y' lengths differ

我希望得到以下信息:

> a
V1 V2
1: 2.0 5
2: 2.5 3
3: 3.0 1

最佳答案

xy(前两个参数)似乎应该是数值向量。您需要遍历每一列。这里我使用 set()for-loop 来更新原始 data.table 通过引用.

len = 1:nrow(a)
for (col in names(a)) {
nas = which(is.na(a[[col]]))
set(a, i=nas, j=col, value=approx(len, a[[col]], xout=nas)$y)
}
# V1 V2
# 1: 2.0 5
# 2: 2.5 3
# 3: 3.0 1

关于R data.table - 如何在多列的固定行上插入缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38634012/

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