У меня относительно большой набор данных (16 000+ x ~ 31). Другими словами, он достаточно большой, чтобы я не хотел построчно манипулировать им в Excel. Данные представлены в следующей форме:
block site day X1 X2
1 1 1 0.4 5.1
1 1 2 0.8 1.1
1 1 3 1.1 4.2
1 2 1 ... ...
1 2 2
1 2 3
2 3 1
2 3 2
2 3 3
2 4 1
2 4 2
2 4 3
Как видите, подсчет сайтов ведется непрерывно, но мне нужен столбец, в котором номер сайта сбрасывается с каждым блоком.Например, я хотел бы что-то вроде этого ниже:
block site day X1 X2 site2
1 1 1 0.4 5.1 1
1 1 2 0.8 1.1 1
1 1 3 1.1 4.2 1
1 2 1 ... ... 2
1 2 2 2
1 2 3 2
2 3 1 1
2 3 2 1
2 3 3 1
2 4 1 2
2 4 2 2
2 4 3 2
Я думал об использовании R-функции rle, но не уверен, будет ли она работать из-за сложностей с днем. В противном случае я бы попробовал что-то вроде:
Data$site2 <- sequence(rle(Data$block)$lengths)
Есть ли у кого-нибудь предложения по добавлению столбца, подсчитывающего (последовательного) количества сайтов в каждом блоке? Если это помогает, для каждого сайта записывается одинаковое количество дней (263), но на каждый блок приходится разное количество сайтов.