长文件名不适用于png设备。故障排除和解决方法建议

时间:2019-06-17 07:25:59

标签: r png

由于文件名太长,使用png设备创建png文件失败,但是根据文档,名称短于支持的大小。

我正在使用树图库从数据框中的层次结构数据的各个子集创建图形。为了获得更好的概览,我创建了反映该层次结构的文件目录,并将每个图形保存在相应的目录中。

我编写了一个函数,该函数删除了似乎困扰png设备的非法字符和特定的德语字符。但是,最新的错误消息似乎与png命令中文件名的长度有关。根据文档,文件名的最大长度为511个字符,我没有接近。我有三个问题

  1. 文件名的长度真的是问题吗?
  2. 如果是这样,为什么当长度明显小于文档规定的长度时?
  3. 什么是优雅,合适的解决方法?
    Breite<-1366
    Hohe<-768

    ###This works:

    png(file="b4-Kapitel 4- Funktionen des kardiovaskulaeren, 
    haematologischen, Immun- und Atmungssystems_1366x768.png",
    width=Breite,
    height=Hohe)

    png(file="ICFGrafiken/Klassifikation der Koerperfunktionen/Kapitel 4- 
    Funktionen des kardiovaskulaeren, haematologischen, Immun- und 
    Atmungssystems/b4-Kapitel 4_1366x768.png",
    width=Breite,
    height=Hohe)

    ###This doesn't work:

    png(file="ICFGrafiken/Klassifikation der Koerperfunktionen/Kapitel 4- 
    Funktionen des kardiovaskulaeren, haematologischen, Immun- und 
    Atmungssystems/b4-Kapitel 4- Funktionen des kardiovaskulaeren, 
    haematologischen, Immun- und Atmungssystems_1366x768.png",
    width=Breite,
    height=Hohe)

错误消息是:

Error in png(file = "ICFGrafiken/Klassifikation der Koerperfunktionen/Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems/b4-Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems_1366x768.png",  : 
  kann png()-Gerät nicht starten
In addition: Warning messages:
1: In png(file = "ICFGrafiken/Klassifikation der Koerperfunktionen/Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems/b4-Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems_1366x768.png",  :
  kann Datei 'ICFGrafiken/Klassifikation der Koerperfunktionen/Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems/b4-Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems_1366x768.png' nicht zum Schreiben öffnen
2: In png(file = "ICFGrafiken/Klassifikation der Koerperfunktionen/Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems/b4-Kapitel 4- Funktionen des kardiovaskulaeren, haematologischen, Immun- und Atmungssystems_1366x768.png",  :
  opening device failed

1 个答案:

答案 0 :(得分:2)

问题与RStudio或png命令无关。 Windows的文件路径限制为260个字符。

信用转到链接的问题: Long path/filename in windows makes write.table() error out in R

所以有3种可能的解决方案(或这3种解决方案的组合)

  • 通过编辑Windows 10手动启用LongPath支持 注册表(我做了,但这似乎还不够,而且是全新的 问题)
  • 按照上面答案中的建议设置虚拟驱动器,以获得一定的“呼吸空间”(不太可能得到我 足够)
  • 使用标题和标签的简写,并仅在使用和需要它们的应用程序中提供完整的描述。

对我来说好像是Nr.3。 感谢所有贡献者。