Waarom krijg ik deze foutmelding bij het schrijven van gegevens naar een bestand

Ik heb deze code

myvector <- c(3.45235, 1.32525, ... , 2.41351)    # some numbers
write(myvector, "C:/mypath/myfile.txt")           # I use "/" instead of "\"

en ik krijg de volgende foutmelding:

Fout in file(file, ifelse(append, “a”, “w”)) : kan de
verbinding Bovendien: waarschuwingsbericht: In file(file, ifelse(append,
“a”, “w”)) : kan bestand ‘C:/mijnpad/mijnbestand.txt’ niet openen: geen dergelijk bestand
of map

Ik heb deze tutorial gelezen , maar ik kan niet begrijpen wat er mis is met mijn code. Enig idee?

bewerken:

Zoals @dickoa al aangaf, heb ik een bestaand pad nodig om een ​​bestand te schrijven, dus ik probeerde het op de volgende manier te vereenvoudigen:

file.exists("C:/")
write(myvector, "C:/myfile.txt")

Verrassend 😛 het pad “C:/” bestaat (het resultaat is WAAR) maar ik krijg een soortgelijke fout:

Fout in file(file, ifelse(append, “a”, “w”)) : kan de
verbinding
Daarnaast: waarschuwingsbericht: In file(file, ifelse(append,
“a”, “w”)) : kan bestand ‘C:/mypath/myfile.txt’ niet openen: toestemming geweigerd


Antwoord 1, autoriteit 100%

Ik weet dat @dickoa de vraag in de opmerkingen heeft beantwoord, maar om hier ten minste één antwoord te geven, wilde ik een paar eenvoudige problemen oplossen met R op Windows.

  1. Als je Windows gebruikt, moet je nog steeds slashes gebruiken voor paden. In R zijn backslashes gereserveerd voor escape-waarden. Dus een pad in R ziet er als volgt uit:
    C:/path/to/my/directory
  2. In nieuwere varianten van Windows wordt de C:\ door gebruikersaccounts beschermd tegen schrijven. Als u naar de C:\ wilt schrijven, moet u een beheerder zijn. U kunt dit doen door met de rechtermuisknop op het R-pictogram in Windows te klikken en “Als administrator uitvoeren” te kiezen. Dit moet ook worden gedaan wanneer u pakketten installeert. U hebt mogelijk geen rechten om pakketten op bepaalde Windows-versies te installeren als u het niet als beheerder uitvoert.
  3. Als je R niet als beheerder wilt uitvoeren en naar bestanden wilt schrijven, heb je standaard rechten op de map C:/Users/username/.

Alle lof voor @dickoa nogmaals voor zijn antwoord als eerste.

Veel succes!


Antwoord 2, autoriteit 4%

Ik heb dit antwoord zojuist gedeeld met een wat betere uitleg hier, maar de essentie is:

Probeer het bestand in Excel te openen om te zien of het door een andere gebruiker is vergrendeld. Ik kreeg dezelfde foutmeldingen en kwam erachter dat een collega het bestand op zijn computer had geopend, waardoor ik het niet kon bewerken.


Antwoord 3, autoriteit 4%

Soms zit het probleem in de naamgeving van het bestand. Ik ben dit probleem bijvoorbeeld tegengekomen toen in de naam van het bestand “\” stond, omdat er een dynamische lijst met namen was. Je kunt zoiets passeren door iets te gebruiken als: sometext = gsub(“/”,” “, sometext).


Antwoord 4

gewoon toevoegen aan antwoorden hier.

De reden dat ik met deze fout werd geconfronteerd, was dat het pad dat ik probeerde op te slaan in meer dan 256 tekens, en vandaar de fout.

Het probleem was opgelost toen ik de padgrootte verkleinde.


Antwoord 5

Het gebeurt wanneer je mijnbestand.txt opent en de code uitvoert. Probeer de myfile.txt op uw computer te sluiten en voer de opdracht uit. Het lost je probleem op.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

seven + 17 =

Other episodes