我有一个CSV文件,其中有19列9行,分别来自雨量计和它们的坐标(LongLat),平均雨月数。列是平均值,线是水分计。可以在此处访问CSV文件:https://drive.google.com/file/d/1wGVT5etZomYW-Cb6R3KgHaV4mXrTjlu4/view?usp=sharing
[目的是创建更多列以通过使用平均列中的等式,按月计算降雨因子。将使用第7列计算每个测雨量计(9行)的1月降雨因子,使用第8列计算2月的降雨。 ,按第9列行进...
我正在为每一列尝试此代码,并且可以工作,但是可以减少代码并通过循环制作?
library(tidyverse)
setwd("C:/scriptsr/R_postos_pluviometricos_interp_FUNCEME/")
#Code
pluviometros <- read.csv("postos_fatorR.csv",
header = T,
sep = ",",
stringsAsFactors = FALSE)
View(pluviometros)
pluviometros <- mutate(.data=pluviometros,R.JAN=67.355*((pluviometros[1:nrow(pluviometros),7]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.FEV=67.355*((pluviometros[1:nrow(pluviometros),8]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.MAR=67.355*((pluviometros[1:nrow(pluviometros),9]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.APR=67.355*((pluviometros[1:nrow(pluviometros),10]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.MAY=67.355*((pluviometros[1:nrow(pluviometros),11]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.JUN=67.355*((pluviometros[1:nrow(pluviometros),12]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.JUL=67.355*((pluviometros[1:nrow(pluviometros),13]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.AGO=67.355*((pluviometros[1:nrow(pluviometros),14]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.SEP=67.355*((pluviometros[1:nrow(pluviometros),15]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.OCT=67.355*((pluviometros[1:nrow(pluviometros),16]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.NOV=67.355*((pluviometros[1:nrow(pluviometros),17]^2)/pluviometros[1:nrow(pluviometros),19])^0.85,
R.DEC=67.355*((pluviometros[1:nrow(pluviometros),18]^2)/pluviometros[1:nrow(pluviometros),19])^0.85
)
View(pluviometros)
[这是mutate_at
中的dplyr
的一种方法:
data <- read.csv("https://docs.google.com/uc?id=1wGVT5etZomYW-Cb6R3KgHaV4mXrTjlu4&export=download")
data %>%
mutate_at(vars(JAN:DEC), .funs = list(R = ~ 67.355 * (.)^2 / TOTAL_pa^0.85))