[英]How to calculate seawater density in R
I am trying to calculate seawater density for one location using this example https://cran.r-project.org/web/packages/gsw/vignettes/gsw.html .我正在尝试使用此示例https://cran.r-project.org/web/packages/gsw/vignettes/gsw.html计算一个位置的海水密度。
I keep getting NA's and I am not sure why.我一直在获得 NA,但我不知道为什么。 Is it because of the lat/long being only for one site?
是因为纬度/经度仅适用于一个站点吗?
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
Doing this for the first value yield a result but not when im trying to do it for the entire dataframe:对第一个值执行此操作会产生结果,但当我尝试对整个数据帧执行此操作时不会产生结果:
(SA <- gsw_SA_from_SP(SP=34.2999114990234, p=0, longitude=125.5, latitude=-48.5))
You can try :你可以试试 :
Columns = c("Sal","Depth")
Results = apply(data[Columns],MARGIN = 1,function(x){
gsw_SA_from_SP(x[1],
x[2],
site[1],
site[2])
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.