Hem Personliga finanser Hur man går över gränserna i R-dummies

Hur man går över gränserna i R-dummies

Innehållsförteckning:

Video: Living Without 3 Chromosomes (Only 10 Known Cases Ever) 2024

Video: Living Without 3 Chromosomes (Only 10 Known Cases Ever) 2024
Anonim

När du arbetar med funktioner i R arbetar du ibland med vissa objekt som du inte först skapade i arbetsytan. Du använder argumenten x, mult och FUN som om de är objekt och du skapar ett objektprocent i funktionen som du inte kan hitta tillbaka i arbetsytan efter att du har använt funktionen. Så vad händer?

Skapa ett testfall

Låt oss ta reda på genom ett litet exempel. Skapa först ett objekt x och ett litet test () -funktion så här:

x <- 1: 5 test <- funktion (x) {cat ("Detta är x:", x, "n") rm (x) katt det: ", x," n ")}

Funktionen test () gör inte mycket. Det tar ett argument x, skriver ut det till konsolen, tar bort det och försöker skriva ut det igen. Du kanske tror att den här funktionen kommer att misslyckas, eftersom x försvinner efter raden rm (x). Men nej, om du försöker denna funktion fungerar det bara bra, som visas i följande exempel:

>> test (5: 1) Detta är x: 5 4 3 2 1 Det här är x efter att ha tagit bort det: 1 2 3 4 5
Även efter att ha tagit bort x kan R fortfarande hitta en annan x att den kan skriva ut. Om du ser lite närmare ser du att x som skrivs ut i den andra raden faktiskt inte är den du gav som argument, men x du skapade tidigare i arbetsytan. Hurså?

Sök på sökvägen

Om du använder en funktion skapar funktionen först en tillfällig

lokal miljö. Den här miljön är nestad inom den globala miljön, vilket innebär att du från den lokala miljön också kan komma åt något objekt från den globala miljön. Så snart funktionen slutar förstörs den lokala miljön tillsammans med alla objekt i den.

För att vara helt korrekt skapar en funktion alltid en miljö inom den miljö som den kallas från, kallad

föräldermiljö. Om du ringer en funktion från arbetsytan via ett skript eller med kommandoraden råkar den här modermiljön vara den globala miljön. Om R ser något objektnamn som nämns i någon kod i funktionen, söker den först i den lokala miljön. Eftersom det finns ett objekt x där använder den den för den första katten () -uppsättningen. I nästa rad tar R bort det objektet x. Så när R når tredje raden, kan det inte längre hitta ett objekt x i den lokala miljön. Inga problem. R rör sig upp i miljön och kontrollerar om det ser något som ser ut som en x i den globala miljön. Eftersom det kan hitta en x där använder den den i den andra katten () -satsen.

Om du använder rm () i en funktion, kommer rm () som standard att radera endast objekt inom den funktionen.På det här sättet kan du undvika att gå ur minne när du skriver funktioner som måste fungera på enorma dataset. Du kan omedelbart ta bort stora temporära objekt istället för att vänta på att funktionen ska göra det i slutet.

Hur man går över gränserna i R-dummies

Redaktörens val

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

När du har lagt till en Bakgrund till ditt spel kan du ytterligare anpassa bakgrunden i Gamestar Mechanic genom att använda två ytterligare alternativ i dialogrutan Nivåinställningar: Bakgrundsrullning och Bakgrundsstil. Bakgrundsrullning Parallaxen är en viktig egenskap hos bakgrunden i spel där alternativet Fler skärm är valt. Redigerbar ...

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Det vanligaste exemplet på balansering ett spel i Gamestar Mechanic balanserar svårigheten: Gör inte spelet så lätt att det är tråkigt och gör det inte så svårt att det är frustrerande. För att finjustera spelets svårighet måste du göra små förändringar utan att bli förbunden till ...

För att kalibrera accelerometern för ditt HTML5-spel - dummies

För att kalibrera accelerometern för ditt HTML5-spel - dummies

Som standard antar HTML5-spelaccelerometern Det neutrala läget är perfekt horisontellt - det vill säga enheten ligger platt på ett bord. Men det här är mobila enheter, och spelare vill ofta ha det neutrala stället att vara någon annanstans. Grundläggande tekniken för att kalibrera tiltkontrollen är att hålla koll på en ...

Redaktörens val

Gör äta rena förändringar i livet - dummies

Gör äta rena förändringar i livet - dummies

Rena ätförändringar i ditt liv är inte svåra att göra, men de tar lite gumption, uthållighet och övning. När du gör en koncentrerad insats för att äta lägre på livsmedelskedjan, märka hur detta beslut påverkar andra delar av ditt liv. För att vara framgångsrik måste du tänka på mat och äta annorlunda, vilka ...

Köttfri måndag och hållbarhet - dummies

Köttfri måndag och hållbarhet - dummies

Köttfri måndag är ett ganska nytt koncept som ofta nämns på Facebook och Twitter. Allt det betyder är att en dag i veckan väljer du att äta vegetarian eller vegan. Inte bara kan Meatless Monday spara pengar (eftersom kött är dyrt), men planen hjälper miljön (eftersom stora kött-, fläsk- och kycklingsanläggningar skapar nitrat ...

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

Medelhavsdieten har länge varit prydnad för vilket ger hälsoeffekter, såsom att minska kranskärlssjukdom och minska risken för vissa cancerformer. Inklusive färska grönsaker och frukter, baljväxter och hälsosamma fetter i din kost kan hjälpa dig att förbättra din hälsa på många sätt. Forskning visar att en traditionell medelhavsdiet minskar ...

Redaktörens val

Hur man arbetar med Nikon D3300-minneskort - dummies

Hur man arbetar med Nikon D3300-minneskort - dummies

Som mediet som lagrar dina bildfiler , Nikon D3300s minneskort är en viktig del av din kamera. Följ dessa tips för att köpa och behålla kort: Köpkort: När du handlar för ett SD-minneskort är den enda specifikationen som noterar annat än kortkapaciteten kort hastighet, vilket indikerar hur snabbt data ...

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Med intervall Timer Fotografering på Nikon D5200, du kan ställa in kameran för att automatiskt släppa avtryckaren med intervall som sträcker sig från sekunder till timmar från varandra. Med den här funktionen kan du fånga upp ett ämne eftersom det förändras över tiden - en teknik som är känd som fotografering med tidsfördröjning - utan att behöva stå runt på ...

JPEG Filer på Nikon D3300-dummies

JPEG Filer på Nikon D3300-dummies

Uttalad "jay-peg", det här formatet är standardinställningen på din Nikon D3300, som det är på de flesta digitalkameror. JPEG är populär av två huvudorsaker: Omedelbar användbarhet: Alla webbläsare och e-postprogram kan visa JPEG-filer, så att du kan dela bilder online direkt efter att du har tagit dem. Du kan också få en ...