В принципе, я смотрю данные о снежном покрове. Я хочу присвоить уникальную ценность каждой дате (столбец «снег») в период с 15 октября по 15 мая следующего года (зимний сезон, конечно) ~ 215 дней. затем добавьте столбец «snowmonth», который соответствует последовательным месяцам сезонных данных, а также столбец «снежный год», который представляет собой год начала каждой сезонной записи.Создание уникальной последовательности с 15 октября по 30 апреля следующего года - R
Есть некоторые недостающие даты, однако, но вместо того, чтобы находить эти даты и вставлять NA в строки, я решил пропустить этот шаг и вместо этого пойти последовательным корнем, который затем может быть нанесен на график относительно «снегового» "
в принципе, мне просто нужно, чтобы получить„snowday“последовательность примерно 1: 215 (+1 за високосных вниз в столбце, а все остальное я могу сделать сам похоже, что этот
month day year depth date yearday snowday snowmonth
12 26 1955 27 1955-12-26 360 NA NA
12 27 1955 24 1955-12-27 361 NA NA
12 28 1955 24 1955-12-28 362 NA NA
12 29 1955 24 1955-12-29 363 NA NA
12 30 1955 26 1955-12-30 364 NA NA
12 31 1955 26 1955-12-31 365 NA NA
1 1 1956 25 1956-01-01 1 NA NA
1 2 1956 25 1956-01-02 2 NA NA
1 3 1956 26 1956-01-03 3 NA NA
man<-data.table()
man <- read.delim('mansfieldstake.txt',header=TRUE, check.names=FALSE)
man[is.na(man)]<-0
man$date<-paste(man$yy, man$mm, man$dd,sep="-", collapse=NULL)
man$yearday<-NA #day of the year 1-365
colnames(man)<- c("month","day","year","depth", "date","yearday")
man$date<-as.Date(man$date)
man$yearday<-yday(man$date)
man$snowday<-NA
man$snowmonth<-NA
man[420:500,]
head(man)
.
вывод будет выглядеть примерно так:
month day year depth date yearday snowday snowmonth
12 26 1955 27 1955-12-26 360 73 3
12 27 1955 24 1955-12-27 361 74 3
12 28 1955 24 1955-12-28 362 75 3
12 29 1955 24 1955-12-29 363 76 3
12 30 1955 26 1955-12-30 364 77 3
12 31 1955 26 1955-12-31 365 78 3
1 1 1956 25 1956-01-01 1 79 4
1 2 1956 25 1956-01-02 2 80 4
1 3 1956 26 1956-01-03 3 81 4
Я думал о петлях и обо всем этом, но это неэффективно ... високосные годы тоже беспорядочные вещи - это стало более сложным, чем я думал. хороший первый проект!
просто ищет простую последовательность здесь, отбрасывая все не снежные месяцы. спасибо всем, у кого есть вход!
Можете ли вы показать нам, что вы ожидаете выход выглядеть? Не совсем понятно, о чем вы спрашиваете. будет 'человеческий $ снег <- 1: nrow (человек)'? – emilliman5
человек $ snowday будет составлять 1: 215 или около того от% Y-10-15 до% Y + 1-5-15. С октября по май, каждый из которых просто ставит уникальную, упорядоченную ценность в последовательность периода - это определяет снег. эта последовательность повторяется для каждого снежного года. с 1955 по 2016 год. 15 октября - первый снег снега, а 15 мая - последний снег. – user5691676