ddply отбрасывает строки с нулевой суммой - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь sum мои данные на Meter, затем усреднить sumCover на Transect. Моя проблема заключается в том, что когда я mean трансекты, в точках метра, где были взяты данные о покрытии, если не было зарегистрировано ни одного нативного вида, тогда этот трансект фактически сбрасывается с фрейма данных после функции ddply. Я попытался использовать функцию .drop, но проблема в том, что у каждого сайта неравная выборка по трансектам, потому что она масштабирована до размера сайта, поэтому эффективно добавляет трансекты к каждому сайту. Что мне нужно выяснить, так это как заполнить список чисел для пропущенных Transect, принимая во внимание, что каждый сайт варьируется от 3 до 16 разрезов - РЕДАКТИРОВАТЬ - предварительный просмотр данных кажется обрезанным и не достаточно строк, поэтому вот файл:

Вот ссылка для загрузки данных csv

read.csv()

require(ddply)


NativeNonnativeCoverperMeter <- ddply(RestoredGrasslandSurveys, c("Site","Transect","Locality","Meter"), summarise,
                     sumCover = sum(Cover))

NativeNonnativeCoverperTransect <- ddply(NativeNonnativeCoverperMeter, c("Site","Transect","Locality"), summarise,
                     avgCover = mean(sumCover), .drop = F)

dput(RestoredGrasslandSurveys[1:10, ])
structure(list(Site = structure(c(10L, 10L, 10L, 10L, 10L, 10L, 
10L, 10L, 10L, 10L), .Label = c("AzevedoNorth", "AzevedoSouth", 
"Big.Banana", "BlohmRanch", "CypressGrove", "Diablo.Canyon", 
"Dipsea.Moors", "Elkhorn.Nursery", "Elkhorn.Owl", "ElkhornHotwire", 
"FacultyHousing", "Glass.Beach", "Hanson.ESHA", "Hanson.Uplands", 
"Hawk.Hill", "LightHouse", "Modoc", "MooreCreek", "Morning.Sun", 
"Noyo.Headlands", "Paradise.Ridge", "Prosper.Ridge", "RussianRidge", 
"Stinson.Gulch", "Tennessee.Valley", "Watsonville.Uplands", "YoungerLagoon"
), class = "factor"), County = structure(c(4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L), .Label = c("Humboldt", "Marin", "Mendocino", 
"Monterery", "Monterey", "San.Luis.Obispo", "SanMateo", "Santa.Barbara", 
"SantaCruz", "Sonoma"), class = "factor"), Transect = c(3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), Meter = c(0L, 5L, 10L, 15L, 
20L, 25L, 30L, 35L, 40L, 45L), Lifeform = structure(c(4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("AnnualForb", "AnnualGrass", 
"Fern", "Groundcover", "Horsetail", "Nfixer", "PerennialForb", 
"PerennialGrass", "PerrenialForb", "Rush", "Sedge", "Shrub", 
"Tree"), class = "factor"), Locality = structure(c(1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Groundcover", "Native", 
"Nonnative"), class = "factor"), Species = structure(c(265L, 
265L, 265L, 265L, 265L, 265L, 265L, 265L, 265L, 265L), .Label = c("Achillea.millefolium", 
"Acmispon.glaber", "Acmispon.maritimus", "Acmispon.parviflorus", 
"Acmispon.strigosus", "Agropyron.cristatum", "Aira.caryophyllea", 
"Aira.elegans", "Aira.praecox", "Amsinckia.menziesii", "Anaphalis.margaritacea", 
"Angelica.hendersonii", "Anthoxanthum.odoratum", "Anthriscus.caucalis", 
"Artemisia.californica", "Asclepias.fascicularis", "Atriplex.semibucatta", 
"Avena.barbata", "Avena.Barbata", "Avena.fatua", "Baccharis. pilularis", 
"Baccharis.pilularis", "Bareground", "Bellis.perennis", "Berberis.pinnata", 
"Brachypodium.distachyon", "Brassica.nigra", "Brassica.rapa", 
"Brassica.tournefortii", "Briza.maxima", "Briza.minor", "Bromus.carinatus", 
"Bromus.catharticus", "Bromus.diandrus", "Bromus.hordeaceous", 
"Bromus.madritensis", "Bromus.maritimus", "Bromus.tectorum", 
"Calamagrostis.nutkaensis", "Calandrinia.menziesii", "Calendula.arvensis", 
"Calystegia.collina", "Calystegia.purpurata", "Cardamine.oligiosperma", 
"Carduus.pycnocephalus", "carex.athrostachya", "Carex.gynodynama", 
"Carex.lasiocarpa", "Carex.Praegracilis", "Carex.spp", "Carex.suberecta", 
"Carex.tomentosa", "Carex.tumulicola", "Carpobrotus.edulis", 
"Castilleja.affinis", "Castilleja.densiflora", "Cerastium.fontanum", 
"Cerastium.glomeratum", "Chlorogalum.pomeridianum", "Cirsium.brevistylum", 
"Cirsium.vulgare", "Clarkia.purpurea", "Clarkia.spp", "Claytonia.perfoliata", 
"Clinopodium.douglasii", "Conium.maculatum", "Convolvulus.arvensis", 
"Corethrogyne.filaginifolia", "Cortaderia.jubata", "Cotula.coronopifolia", 
"Crassula.connata", "Crepis.vesicaria", "Croton.setigerus", "Cynodon.dactylon", 
"Cynosurus.echinatus", "Cyperus.eragrostis", "Danthonia.californica", 
"Daucus.pusillus", "Deschampsia.cespitosa", "Dichelostemma.capitatum", 
"Dichondra.donelliana", "Dichondra.Donelliana", "Dichondra.micrantha", 
"Distichlis.spicata", "Dudleya.cymosa", "Dudleya.farinosa", "Dysphania.ambrosioides", 
"Ehrharta.erecta", "Elymus.condensatus", "Elymus.glaucus", "Elymus.triticoides", 
"Elymus.vancouverensis", "Epilobium.brachycarpum", "Epilobium.cilatum", 
"Equisetum.arvense", "Erigeron.canadensis", "Erigeron.glaucus", 
"Erigeron.sumatrensis", "Eriogonum.latifolium", "Eriogonum.parvifolium", 
"Eriophyllum.staechadifolium", "Erodium.botrys", "Erodium.cicutarium", 
"Erodium.moscatum", "Eschscholzia.californica", "Eucalyptus.globulus", 
"Festua.muyros", "Festuca.arundinacea", "Festuca.bromioides", 
"Festuca.californica", "Festuca.idahoensis", "Festuca.microstachys", 
"Festuca.muyros", "Festuca.perennis", "Festuca.pratensis", "Festuca.rubra", 
"Foeniculum.vulgare", "Fragaria.vesca", "Frangula.californica", 
"Fritillaria.affinis", "Galium.aparine", "Galium.divaricatum", 
"Galium.porrigens", "Gamochaeta.ustulata", "Genista.monspessulana", 
"Geranium.dissectum", "Geranium.molle", "Gilia.capitata", "Gnaphalium.palustre", 
"Grindelia.latifolia", "Grindelia.stricta", "Helminthotheca.echioides", 
"Hemiparasitic.ericaceae", "Heracleum.lanatum", "Heterotheca.grandiflora", 
"Heterotheca.sessiliflora", "Hirschfieldia.incana", "Holcus.lanatus", 
"Hordeum.brachyantherum", "Hordeum.marinum", "Hordeum.murinum", 
"Horkelia.californica", "Hosackia.gracilis", "Hypochaeris.spp", 
"Iris.douglasiana", "Iris.macrosiphon", "Juncus.bufonis", "Juncus.effusus", 
"Juncus.mexicanus", "Juncus.occidentalis", "Juncus.patens", "Juncus.phaeocephalus", 
"Koeleria.macrantha", "Lactuca.serriola", "Lasthenia.californica", 
"Lathyrus.vestitus", "Leontodon.taraxacoides", "Lichen", "Linum.bienne", 
"Logfia.gallica", "Lomatium.dasycarpum", "Lomatium.utriculatum", 
"Lonicera.hispidula", "Lotus.corniculatus", "Lotus.micranthus", 
"Lupinus.arboreus", "Lupinus.bicolor", "Lupinus.littoralis", 
"Lupinus.nanus", "Lupinus.variicolor", "Luzula.comosa", "Luzula.subsessilis", 
"Lysimachia.arvensis", "Lythrum.hyssopifolia", "Madia.exigua", 
"Madia.gracilis", "Madia.madioides", "Madia.spp", "Malva.parviflora", 
"Marah.fabaceus", "Matricaria.discoides", "Medicago.polymorpha", 
"Melica.californica", "Melica.imperfecta", "Melica.torreyana", 
"Melilotus.indicus", "Melilotus.officinalis", "Modiola.caroliniana", 
"Moss", "Mulch", "Mushroom.cover", "Myosotis.discolor", "Oxalis.corniculata", 
"Oxalis.pes-caprae", "Parentucellia.latifolia", "Parentucellia.viscosa", 
"Paronychia.franciscana", "Pennisetum.clandestinum", "Perideridia.kelloggii", 
"Phacelia.californica", "Phacelia.malvifolia", "Phalaris.aquatica", 
"Pholistoma.auritum", "Plagiobothyrs.nothofulvus", "Plantago.coronopus", 
"Plantago.erecta", "Plantago.lanceolata", "Poa.annua", "Poa.pratensis", 
"Polygonum.arenastrum", "Polygonum.aviculare", "Polypodium.califomicum", 
"Polypodium.californicum", "Polypogon.monspeliensis", "Polystichum.munitum", 
"Prunella.vulgaris", "Pseudognaphalium.beneolens", "Pseudognaphalium.bioletti", 
"Pseudognaphalium.californicum", "Pseudognaphalium.canescens", 
"Pseudognaphalium.luteoalbum", "Pseudognaphalium.ramosissimum", 
"Pseudotsuga.meziesii", "Pteridium.aquilinum", "Quercus.agrifolia", 
"Ranunculus.californicus", "Ranunculus.occidentalis", "Raphanus.sativus", 
"Raphanus.spp", "Rock", "Rubus.armeniacus", "Rubus.ursinus", 
"Rumex.acetosella", "Rumex.crispus", "Rumex.Crispus", "Rumex.transitorius", 
"Salix.lasiolepis", "Sanicula.arctopoides", "Sanicula.bipinnatifida", 
"Sanicula.crassicaulis", "Scandix.peten-veneris", "Senecio.vulgare", 
"Sherardia.arvensis", "Sidalcea.malviflora", "Silene.gallica", 
"Sisyrinchium.bellum", "Solanum.americanum", "Solidago.velutina", 
"Soliva.sessilis", "Sonchus.asper", "Sonchus.oleraceus", "Spergula.arvensis", 
"Stachys.ajugoides", "Stachys.bullata", "Stellaria.media", "Stipa.cernua", 
"Stipa.lepida", "Stipa.pulchra", "Stipa.purpurata", "Symphiotrichum.chilensis", 
"Taraxia.ovata", "Tauschia.hartwegii", "Thatch.cover", "Thatch.Cover", 
"Thatch.Depth", "Thysanocarpus.laciniatus", "Toxicodendron.diversilobum", 
"Toxicoscordion.fremontii", "Tragopogon.porrifolius", "Tribulus.terrestris", 
"Trifolium.angustifolium", "Trifolium.barbigerum", "Trifolium.bifidum", 
"Trifolium.depauperatum", "Trifolium.dubium", "Trifolium.glomeratum", 
"Trifolium.hirtum", "Trifolium.hybridum", "Trifolium.macraei", 
"Trifolium.microcephalum", "Trifolium.repens", "Trifolium.subterraneum", 
"Trifolium.variegatum", "Trifolium.willdenovii", "Triphysaria.pusilla", 
"Triphysaria.versicolor", "Trisetum.canescens", "Vaccinium.ovatum", 
"Veronica.persica", "Vicia.americana", "Vicia.benghalensis", 
"Vicia.sativa", "Vicia.tetrasperma", "Vicia.villosa", "Viola.adunca", 
"Viola.pedunculata", "Wyethia.angustifolia", "Wyethia.glabra"
), class = "factor"), Cover = c(1, 1, 0.5, 0.5, 0.5, 8, 2, 2, 
5, 1)), row.names = c(NA, 10L), class = "data.frame")
...