r - 如何计算R中的海水密度
问题描述
我正在尝试使用此示例https://cran.r-project.org/web/packages/gsw/vignettes/gsw.html计算一个位置的海水密度。
我不断得到 NA,我不知道为什么。是因为纬度/经度仅适用于一个站点吗?
library(gsw)
site <- cbind(125.5, -48.5)
Depth = c(0, 2.4, 4.7, 7.1, 9.4, 11.8)
Time = c(0, 30, 60, 90, 120, 150)
Temp = c(9.3668098449707, 9.35547698974609, 9.34461633682251, 9.33601398468018, 9.32814388275147, 9.32195755004883)
Sal = c(34.2999114990234, 34.3229992675781, 34.3451250457764,34.35333984375, 34.3591761779785, 34.3610186767578)
data <- cbind.data.frame(Depth, Time, Temp, Sal)
data$Latitude <- site[1]
data$Longitude <- site[2]
SA <- gsw_SA_from_SP(SP = data$Sal,
p = data$Depth,
longitude = data$Longitude,
latitude = data$Latitude)
CT <- gsw_CT_from_t(SA,data$Temp,data$Depth)
data$rho <- gsw_rho(SA,CT,10.1325)-1000
对第一个值执行此操作会产生结果,但在我尝试对整个数据帧执行此操作时不会:
(SA <- gsw_SA_from_SP(SP=34.2999114990234, p=0, longitude=125.5, latitude=-48.5))
解决方案
你可以试试 :
Columns = c("Sal","Depth")
Results = apply(data[Columns],MARGIN = 1,function(x){
gsw_SA_from_SP(x[1],
x[2],
site[1],
site[2])
})
推荐阅读
- arrays - 来自正整数数组的随机整数数组
- r - 尝试使用 R 写入 firebase(firestore)时出错
- entity-framework-core - 创建外键时EF Core更新数据库失败
- reactjs - React Datepicker - 添加上一年和下一年的按钮
- react-native - 在 Avatar 组件周围有一个圆圈
- c++ - 将继承的参数传递给基类构造函数,然后在派生类构造函数中执行某些操作
- sql - 将excel数据集导入预先存在的SQL表的最简单方法?
- python - 如何按键汇总字典列表?
- firebase - 在查询快照上获取 null
- c++ - 带有内部while循环的while循环:O(n)还是O(n ^ 2)?