根据另一个数据框的值插值列的缺失值

问题描述

我有两个数据框:

df1 <- data.frame(height = c(0,100,200,300,400),value = c(20,30,40,50,60))
df2 <- data.frame(height = c(40,500),value = c(NA,35,60,70))


df1                     df2
height  value           height  value
0       20              40      NA        
100     30              100     35           
200     40              200     50           
300     50              300     60           
400     60              500     70           

我要在df1中插值以填充df2中缺少的高度(40)。

解决方法

您可以使用approxfun根据另一个数据框的值插值列的缺失值

i <- is.na(df2$value)
df2$value[i] <- approxfun(df1$height,df1$value)(df2$height[i])
df2
#  height value
#1     40    24
#2    100    35
#3    200    50
#4    300    60
#5    500    70

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...