I'm very new to R. I have a dataframe with 100 fields each consisting of 65 species of plants (6500 rows). I want to calculate a value for each of the 100 fields, which should be:
value (field_1) = (plant_cover1 * plant_trait1 + plant_cover2 * plant_trait2 + ......)/(plant_cover1 + plant_cover2 + .....)
Plant_cover1: Vertical_density value for species 1 Plant_trait1: slamean value for species 1
I've tried the following, but I'm stuck. Also i get the error "the condition has length > 1 and only the first element will be used".
for(i in levels(NPT$Feltnummer)) {
for (i in levels(NPT$Artsnavn_dansk)) {
if(NPT$Vertikal_densitet>0 & NPT$slamean>0) {
return((NPT$vertikal_densitet*NPT$slamean)/NPT$Vertikal_densitet)
}sum()}Return()}
How would I go about calculating the 100 values? I hope you can help.
Here's my data:
dput(head(NPT)) structure(list(Artsnavn_dansk = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("aflangbladet vandaks", "almindelig engelsød", "almindelig hvene", "almindelig hønsetarm", "almindelig kohvede", "almindelig kongepen", "almindelig kællingetand", "almindelig star", "bar jord", "bjergfyr", "blåmunke", "blåtop", "bregne sp.", "bægerlav sp.", "bølget bunke", "børstesiv", "dynd-padderok", "dynd-star", "eng-viol", "engelsk visse", "fløjlsgræs", "fåre-svingel", "gran sp.", "gråris", "hedelyng", "hirse-star", "hunde-hvene", "hunde-viol", "klit-siv", "klokkelyng", "knop-siv", "kragefod", "kær-dueurt", "kær-snerre", "lav sp.", "liden siv", "lyng-snerre", "lyse-siv", "mangeblomstret frytle", "mos sp. (acrocarp)", "mos sp. (pleurocarp)", "mose-bølle", "mose-pors", "næb-star", "pil sp.", "rensdyrlav", "revling", "rødknæ", "sand-hjælme", "sand-star", "sandskæg", "smalbladet kæruld", "smalbladet mangeløv", "spagnum sp.", "stilkeg", "stiv star", "stjerne-star", "storlæbet blærerod", "sumpstrå sp.", "tormentil", "tranebær", "tråd-siv", "vandnavle", "vandspejl", "vinter-eg"), class = "factor"), Artsnavn_latin = c("Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius"), Græsning = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c("0", "1"), class = "factor"), Feltnummer = structure(1:6, .Label = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100"), class = "factor"), Hits_antal_pinde = c(0, 0, 0, 0, 0, 0), Dækning = c(0, 0, 0, 0, 0, 0), Hits_i_alt = c(0, 0, 0, 0, 0, 0), Vertikal_densitet = c(0, 0, 0, 0, 0, 0),
5m= c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_),1= c(0, 0, 0, 0, 0, 0),2= c(0, 0, 0, 0, 0, 0),3= c(0, 0, 0, 0, 0, 0),4= c(0, 0, 0, 0, 0, 0),5= c(0, 0, 0, 0, 0, 0),6= c(0, 0, 0, 0, 0, 0),7= c(0, 0, 0, 0, 0, 0),8= c(0, 0, 0, 0, 0, 0),9= c(0, 0, 0, 0, 0, 0),10= c(0, 0, 0, 0, 0, 0),11= c(0, 0, 0, 0, 0, 0 ),12= c(0, 0, 0, 0, 0, 0),13= c(0, 0, 0, 0, 0, 0),14= c(0, 0, 0, 0, 0, 0),15= c(0, 0, 0, 0, 0, 0),16= c(0, 0, 0, 0, 0, 0),17= c(0, 0, 0, 0, 0, 0),18= c(0, 0, 0, 0, 0, 0),19= c(0, 0, 0, 0, 0, 0),20= c(0, 0, 0, 0, 0, 0),21= c(0, 0, 0, 0, 0, 0),22= c(0, 0, 0, 0, 0, 0),23= c(0, 0, 0, 0, 0, 0),24= c(0, 0, 0, 0, 0, 0),25= c(0, 0, 0, 0, 0, 0), ArtID...35 = c(4646, 4646, 4646, 4646, 4646, 4646), HenvisID = c(4646, 4646, 4646, 4646, 4646, 4646), HenvisKodeID = c(1, 1, 1, 1, 1, 1), TaxonKode = c(2900500030060, 2900500030060, 2900500030060, 2900500030060, 2900500030060, 2900500030060), StandatListe = c("std00244", "std00245", "std00246", "std00247", "std00248", "std00249"), RubinKode = c("POTA POLB4", "POTA POLB5", "POTA POLB6", "POTA POLB7", "POTA POLB8", "POTA POLB9" ), NavnDansk...41 = c("aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks"), NavnEngelsk = c(NA, NA, NA, NA, NA, NA), LatArt...43 = c("Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius" ), LatFam = c("Potamogetonaceae", "Potamogetonaceae", "Potamogetonaceae", "Potamogetonaceae", "Potamogetonaceae", "Potamogetonaceae" ), DKFam = c("Vandaksfamilien", "Vandaksfamilien", "Vandaksfamilien", "Vandaksfamilien", "Vandaksfamilien", "Vandaksfamilien"), LatOrd = c("Zosterales", "Zosterales", "Zosterales", "Zosterales", "Zosterales", "Zosterales"), DKOrd = c("Ålegræsordenen", "Ålegræsordenen", "Ålegræsordenen", "Ålegræsordenen", "Ålegræsordenen", "Ålegræsordenen"), LatKla = c("Liliopsida", "Liliopsida", "Liliopsida", "Liliopsida", "Liliopsida", "Liliopsida"), DKKla = c("Enkimbladede", "Enkimbladede", "Enkimbladede", "Enkimbladede", "Enkimbladede", "Enkimbladede"), LatDivision = c("Magnoliophyta", "Magnoliophyta", "Magnoliophyta", "Magnoliophyta", "Magnoliophyta", "Magnoliophyta"), DKDivision = c("Dækfrøede", "Dækfrøede", "Dækfrøede", "Dækfrøede", "Dækfrøede", "Dækfrøede"), LatRige = c("Plantae", "Plantae", "Plantae", "Plantae", "Plantae", "Plantae"), DKRige = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), ParentID = c(4594, 4594, 4594, 4594, 4594, 4594), TaxRang = c(60, 60, 60, 60, 60, 60), RLSLabel...56 = c(0, 0, 0, 0, 0, 0), Maskeret = c(0, 0, 0, 0, 0, 0), UseInTree = c(1, 1, 1, 1, 1, 1), ArtID...59 = c(4646, 4646, 4646, 4646, 4646, 4646), NavnDansk...60 = c("aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks"), LatArt...61 = c("Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius"), Introduktionsmaade = c("naturlig", "naturlig", "naturlig", "naturlig", "naturlig", "naturlig" ), Spredsfase = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Etableringsfase = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Verdensdel = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_ ), Oprindelsesomraade = c("hjemmehørende", "hjemmehørende", "hjemmehørende", "hjemmehørende", "hjemmehørende", "hjemmehørende" ), AeldsteRegistrering = c(NA, NA, NA, NA, NA, NA), NyesteFund = c(NA, NA, NA, NA, NA, NA), Habitat1 = c("hedekær", "hedekær", "hedekær", "hedekær", "hedekær", "hedekær"), Habitat2 = c("hedemose", "hedemose", "hedemose", "hedemose", "hedemose", "hedemose" ), Habitat3 = c("tørvemose", "tørvemose", "tørvemose", "tørvemose", "tørvemose", "tørvemose"), Habitat4 = c("grøft", "grøft", "grøft", "grøft", "grøft", "grøft"), Habitat5 = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Habitat6 = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_ ), Habitat7 = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Habitat8 = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Oekologi1 = c("ferskvand", "ferskvand", "ferskvand", "ferskvand", "ferskvand", "ferskvand"), Oekologi2 = c("oligotrof", "oligotrof", "oligotrof", "oligotrof", "oligotrof", "oligotrof" ), Oekologi3 = c("vintervanddækket bund", "vintervanddækket bund", "vintervanddækket bund", "vintervanddækket bund", "vintervanddækket bund", "vintervanddækket bund"), Hyppighed = c("alm", "alm", "alm", "alm", "alm", "alm"), LokalUdbredelse = c("Jy,Fyn,Sj,Bo", "Jy,Fyn,Sj,Bo", "Jy,Fyn,Sj,Bo", "Jy,Fyn,Sj,Bo", "Jy,Fyn,Sj,Bo", "Jy,Fyn,Sj,Bo"), BemUdbredelse = c("sj el mgl Øerne", "sj el mgl Øerne", "sj el mgl Øerne", "sj el mgl Øerne", "sj el mgl Øerne", "sj el mgl Øerne"), Anvendelse1 = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_ ), Aanvendelse2 = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Livsform = c("hydrofyt", "hydrofyt", "hydrofyt", "hydrofyt", "hydrofyt", "hydrofyt" ), KoennetSpred = c("vandpredning", "vandpredning", "vandpredning", "vandpredning", "vandpredning", "vandpredning"), VegetativFormering = c("jordstængeldeling", "jordstængeldeling", "jordstængeldeling", "jordstængeldeling", "jordstængeldeling", "jordstængeldeling"), Status = c("present", "present", "present", "present", "present", "present"), Roedliste = c(NA, NA, NA, NA, NA, NA), Biologi = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_ ), BemIoevr = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Referencer = c("2,64,83,85,86,88,211,481,603,808", "2,64,83,85,86,88,211,481,603,809", "2,64,83,85,86,88,211,481,603,810", "2,64,83,85,86,88,211,481,603,811", "2,64,83,85,86,88,211,481,603,812", "2,64,83,85,86,88,211,481,603,813"), Kode = c("m", "m", "m", "m", "m", "m"), X...94 = c("x", "x", "x", "x", "x", "x"), L_EngelskEllenberg = c(8, 8, 8, 8, 8, 8), F_EngelskEllenberg = c(10, 10, 10, 10, 10, 10), R_EngelskEllenberg = c(4, 4, 4, 4, 4, 4), N_EngelskEllenberg = c(2, 2, 2, 2, 2, 2), S_EngelskEllenberg = c(0, 0, 0, 0, 0, 0), StrategyGrime...100 = c("S/CSR", "S/CSR", "S/CSR", "S/CSR", "S/CSR", "S/CSR"), C_Grime = c(2, 2, 2, 2, 2, 2), S_Grime = c(8, 8, 8, 8, 8, 8), R_Grime = c(2, 2, 2, 2, 2, 2), Annuals_Grime = c(0, 0, 0, 0, 0, 0), Natura2000 = c(NA, NA, NA, NA, NA, NA), Bilag_II = c(NA, NA, NA, NA, NA, NA), Bilag_IV = c(NA, NA, NA, NA, NA, NA), Bilag_V = c(NA, NA, NA, NA, NA, NA), RLSLabel...109 = c(NA, NA, NA, NA, NA, NA ), HoejmoseArt = c(0, 0, 0, 0, 0, 0), InvasivArt = c(0, 0, 0, 0, 0, 0), ...112 = c(893, 893, 893, 893, 893, 893), SBS.number = c(43944, 43944, 43944, 43944, 43944, 43944), X...114 = c(893, 893, 893, 893, 893, 893), ArtID...115 = c(4646, 4646, 4646, 4646, 4646, 4646), AltArtID = c(4646, 4646, 4646, 4646, 4646, 4646 ), LatArt...117 = c("Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius" ), NavnDansk...118 = c("aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks", "aflangbladet vandaks"), AltSBS.number = c("NA", "NA", "NA", "NA", "NA", "NA"), SBS.name = c("Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius"), BRCnumber = c("NA", "NA", "NA", "NA", "NA", "NA"), Note = c("NA", "NA", "NA", "NA", "NA", "NA"), EllenbergArtsnavn = c("Potamogeton polygonifolius oblongus", "Potamogeton polygonifolius oblongus", "Potamogeton polygonifolius oblongus", "Potamogeton polygonifolius oblongus", "Potamogeton polygonifolius oblongus", "Potamogeton polygonifolius oblongus"), StoreNordiskeLatinsk = c("Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius", "Potamogeton polygonifolius"), EL = c("7", "7", "7", "7", "7", "7"), NoteL = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), ET = c("6", "6", "6", "6", "6", "6"), NoteT = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_ ), EK = c(2, 2, 2, 2, 2, 2), NoteK = c(NA, NA, NA, NA, NA, NA), EF = c("10", "10", "10", "10", "10", "10"), NoteF = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), ER = c("3", "3", "3", "3", "3", "3"), NoteR = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), EN = c(2, 2, 2, 2, 2, 2), NoteN = c(NA, NA, NA, NA, NA, NA), EEL = c("8", "8", "8", "8", "8", "8"), EEF = c("10", "10", "10", "10", "10", "10"), EER = c("4", "4", "4", "4", "4", "4"), EEN = c("2", "2", "2", "2", "2", "2"), EES = c("0", "0", "0", "0", "0", "0"), StrategyGrime...142 = c("S/CSR", "S/CSR", "S/CSR", "S/CSR", "S/CSR", "S/CSR"), GC = c("2", "2", "2", "2", "2", "2"), GS = c("8", "8", "8", "8", "8", "8"), GR = c("2", "2", "2", "2", "2", "2"), AnnualsGrime = c("0", "0", "0", "0", "0", "0"), smmean = c("1.9219999999999999", "1.9219999999999999", "1.9219999999999999", "1.9219999999999999", "1.9219999999999999", "1.9219999999999999"), slamean = c("54.015000000000001", "54.015000000000001", "54.015000000000001", "54.015000000000001", "54.015000000000001", "54.015000000000001"), chmax = c("0.03", "0.03", "0.03", "0.03", "0.03", "0.03"), LDMC = c("169.886666666667", "169.886666666667", "169.886666666667", "169.886666666667", "169.886666666667", "169.886666666667"), LM = c("28.163333333333298", "28.163333333333298", "28.163333333333298", "28.163333333333298", "28.163333333333298", "28.163333333333298"), LS = c("1138.25", "1138.25", "1138.25", "1138.25", "1138.25", "1138.25"), Insectpoll = c(0, 0, 0, 0, 0, 0), Windpoll = c(1, 1, 1, 1, 1, 1), Selfpoll = c(0, 0, 0, 0, 0, 0)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
Aucun commentaire:
Enregistrer un commentaire