В моем кадре данных есть 10 столбцов и 100 000 строк, каждая строка является наблюдением, а столбцы - данными, относящимися к каждому наблюдению. Один из столбцов имеет дату наблюдения в юлийский день (т.е. feb 4 = день 34). Я хочу сократить свой набор данных, чтобы у меня были первые 10% наблюдений за PER-видами PER. Т.е., для видов 1 в 1901 году я хочу средний день появления на основе первых 10% наблюдений.R: выделение начальных 10%
Пример того, что у меня есть: note id = species, но как число. то есть синий = 1
date=c(3,84,98,100,34,76,86...)
species=c(blue,purple,grey,purple,green,pink,pink,white...)
id=c(1,2,3,2,4,5,5,6...)
year=c(1901,2000,1901,1996,1901,2000,1986...)
habitat=c(forest,plain,mountain...)
ЭСТ Что я хочу: даты = с (3,84,76,86 ...) видовых = с (фиолетовым, розовым, розовым, белым ...) id = c (2,5,5,6 ...) год = c (1901,2000,2000,1986 ...)
habitat = c (лес, равнина, гора ...) новый = c (3,84,79,86 ...)
Это, кажется, близко ... за исключением некоторых значений возвращается назад, как «NA», что это значит, и Я потерял все остальные столбцы с соответствующей информацией для каждого наблюдения. – John
Если количества строк слишком мало, их будет недостаточно, чтобы получить 10%, чтобы он возвращал NA.Это работает с данными, которые вы предоставили. –
Не было бы лучше сначала сжать данные, поэтому есть только первые 10% наблюдений за каждый вид в год, а затем взять среднее значение этих дат за каждый год для каждого вида? – John