我有一个水库高程的数据框架,并且我需要在一个等级表(高程与存储/体积)上使用查找,该表插入相应的存储值。
我的输入水库高程(数据):
ELEV STOR
411.0
412.5
410.9
408.3我的评分表(stor_elev):
STOR ELEV
2500 408.0
3000 409.0
3700 410.0
4600 411.0
5800 412.0
7100 413.0所需输出(数据):
ELEV STOR
411.0 4600
412.5 6450
410.9 4510
408.3 2650我尝试过:
data$STOR <- lapply(data$ELEV, function(l) approx(stor_elev$ELEV, stor_elev$STOR, xout=1))但是,这将返回一个列表,而不是一个新的数据框列。
发布于 2019-07-26 06:56:15
您好,只是为将来做个说明,您是否可以使用dput()提供您的数据,因为其他人输入它要容易得多。以下是供其他人参考的数据:
data <- data.frame(ELEV = c(411.0,412.5,410.9,408.3))
stor_elev <- structure(list(STOR = c(2500, 3000, 3700, 4600, 5800, 7100),
ELEV = c(408, 409, 410, 411, 412, 413)), class = "data.frame", row.names = c(NA, -6L))感谢r2evans的评论-我已经在下面修改了你只需要添加你想要的近似元素:
data$STOR <- approx(stor_elev$ELEV, stor_elev$STOR, xout=data$ELEV)$yhttps://stackoverflow.com/questions/57210992
复制相似问题