chybová zpráva souboru R“ nelze změnit pracovní adresář “ je zvláštní malá zpráva v tom, že i když se jedná o problém s kódováním, nemusí být výsledkem chyby R kódu. Spíše je to problém, který vzniká při pokusu o změnu kořenového adresáře na neexistující název. To z něj dělá neobvyklý problém a naštěstí ten, který lze snadno opravit v konzole R.
okolnosti tohoto problému.
chybová zpráva „Nelze změnit pracovní adresář“se objeví při použití funkce setwd () ke změně pracovního adresáře ve formátu setwd („~/ “ ) nebo zadání neplatného názvu adresáře dat. Obvykle je soubor umístěn ve výchozím pracovním adresáři. Existují však okolnosti, kdy budete chtít změnit aktuální pracovní adresář v souboru skriptu r. To má tu výhodu, že se automaticky resetuje při opětovném načtení projektu nebo datové sady. V důsledku toho je to užitečný nástroj pro ukládání a načítání souborů z jiné cesty k adresáři, než je výchozí cesta k adresáři. To se hodí, když znáte umístění souboru pro 2 různé soubory nebo více v adresáři projektu.
co způsobuje tento problém?
chybová zpráva „Nelze změnit pracovní adresář“ je způsobena tím, že operační systém nerozpozná „~ / “ jako označení kořenového adresáře nebo odkaz na neplatný název složky. Výsledkem je, že software hledá neexistující složku. To způsobí, že tuto zprávu vrátí, protože nemůže změnit pracovní adresář.
# r error cannot change working directory r code> getwd() "C:/Users/Owner/Documents/R/error test"> setwd("C:/Users/Owner/Documents/R/test")Error in setwd("C:/Users/Owner/Documents/R/test") :cannot change working directory
v tomto případě jsme dostali zprávu, protože jsme zadali neplatnou složku. Ve většině systémů používajících setwd („~/ “ ) jednoduše změní pracovní adresář do kořenového adresáře. Existují však některé systémy, kde není rozpoznáno“~/“, což vede k této zprávě. Naštěstí malá změna syntaxe může problém vyřešit.
jak tento problém vyřešit.
oprava tohoto problému je jednoduše otázkou odstranění odkazu „~ / “ ze skriptu. Protože funkce setwd () je funkce set working directory, můžete ji použít k nastavení aktuálního adresáře v kódu. Vše, co musíte udělat, je nastavit ji do složky cesta k souboru, kterou hledáte. Funkce getwd () je podobná příkazu dose „dir“, kromě toho, že vás dostane do aktuálního pracovního adresáře v pracovním prostoru konzoly r.
# r error cannot change working directory solution code> getwd() "C:/Users/Owner/Documents/R/error test"> setwd("~/")> getwd() "C:/Users/Owner/Documents"
Chcete-li získat stejný efekt jako tento příklad R kódu, stačí nahradit název konkrétního adresáře projektu, do kterého chcete jít, v řetězci znaků zde místo „~/“. Chcete-li získat aktuální pracovní adresář, použijte funkci getwd () a proveďte potřebné úpravy, abyste získali složku umístění souboru nebo absolutní cestu souborů, kterou chcete jako aktuální adresář.
# cannot change working directory r error solution example code> getwd() "C:/Users/Owner/Documents/R/error test"> setwd("C:/Users/Owner/Documents")> getwd() "C:/Users/Owner/Documents"
v tomto příkladu jednoduše definujeme pracovní adresář jako „C:/Users/Owner/Documents“ Chcete-li provést požadovanou změnu. Nemusí to být tak elegantní nebo krátké jako druhá verze, ale funguje to. V situaci, kdy máte chybný název složky nebo souborového systému, jej jednoduše opravte v domovském adresáři tak, aby se jednalo o platný název.
Jedná se o jednoduchý problém, který je třeba vyřešit, ale pravděpodobně jej získáte pouze zadáním názvu složky. Pokud si to pro „~ / “ pak stačí zadat, kam chcete dát, a to bude fungovat. V obou případech problém vyřešíte.
R chyba nemůže změnit pracovní adresář