Я пытаюсь разместить большой массив данных (следы циклонов в северном полушарии) при нескольких условиях: данные ниже
centro <- read.table("https://forms.naturwissenschaften.ch/imilast/_ERAinterim_1.5_1979_MTEX/ERAinterim_1.5_NH_M02_19790101_20121231_MTEX.txt?_ga=2.18919096.1825595846.1546710263-1112023567.1546710263", sep="", fill = T, nrows = 500,
header = F, skip = 2) # read here only the first 500 rows
centro <- na.omit(centro)
colnames(centro) <- c("Code","CycloneNo","StepNo","DateI10","Year","Month","Day","Time","LongE","LatN","Intensity1","Intensity2","Intensity3")
Я хочу установить подмножество только циклонов (основанных на уникальном столбце CycloneNo), которые сформированы в пространственном поле (например, -4 и 40 E долготы и 32-45 N широты), когда столбец StepNo == 1. Обычно, это было бы легко сделать:
centro_subs <- centro[centro$LongE>=-4 & centro$LongE <= 40 & centro$LatN>= 32 & centro$LatN <= 45,]
Однако я хочу сохранить только циклоны, сформированные в этом блоке (когда StepNo == 1), но остальные их треки тоже вне этого блока.
Я попытался получить это, выполнив:
df_s <- centro[1,]
df_s[1,] <- NA # create an empty dataframe to be filled in the iteration
for (i in 1:length(unique(centro$CycloneNo))){
print(i)
a <- centro[centro$LongE[centro$StepNo==1]>= -4 &
centro$LongE[centro$StepNo==1] <= 40 &
centro$LatN[centro$StepNo==1]>= 32 & centro$LatN
<=45[centro$StepNo==1],]
df_s <- rbind(a, df_s)
}
Однако это заканчивается пустым кадром данных, заполненным NA. Я знаю, что это довольно сложно описать здесь. Я чувствую, что я как-то близок, но я также очень устал сейчас, чтобы попытаться найти новые пути.