Ich habe versucht, ein Paket mit einigen Funktionen und Skripten zu erstellen (mit X11 auf einem Mac). Während R CMD Check seine Arbeit tat, stieß es ein Problem wie folgt:Ein Fehler [' +' ist ein nicht erkanntes Escapezeichen in der Zeichenkette "+" beim Erstellen eines R-Pakets
temp = trim(unlist(strsplit(lp.add(ranefterms[[i]]),
+ "\+")))
Error: '\+' is an unrecognized escape in character string starting "\+"
Das Merkwürdigste aber ist, dass meine Funktion hat eigentlich nicht „\ +“. Stattdessen hat es "\ \ +" (siehe unten). Also ich weiß nicht warum "\ \ +" als "\ +" erkannt wird.
for(i in 1:n)
temp = trim(unlist(strsplit(lp.add(ranefterms[[i]]), '\\+')))
Um ein wenig weiter zu graben, schaute ich auf die Paketname-Ex.R-Datei im Rcheck-Ordner. Wie sich herausstellte, wurden alle "\" s im Prüfprozess in "\" geändert (z. B. die doppelten Schrägstriche, die ich für Funktionen wie strsplit() und grepl() benötige)
Ich frage mich was könnte die Ursache dafür gewesen sein. Entschuldigung, dass ich kein reproduzierbares Beispiel finden kann ...
@ Josh-obrien Danke. Die Hilfe-Datei war in der Tat das Problem. Weißt du, warum das ein Problem ist? Ich habe in der Vergangenheit ein Paket erstellt und bin nicht auf ein ähnliches Problem gestoßen - ich habe nichts von "\\" zu "\\\\" geändert. – Alex
@ X.He - Das ist nichts Neues, also wette ich, dass Ihr früheres Paket kein '\\' in Ihren Beispielen hatte, ** oder ** dass irgendwelche Beispiele innerhalb eines '\ dontrun waren {} 'blockieren, ** oder **, dass Sie keine R-CMD-Prüfung ausgeführt haben. Denken Sie daran, dass dies kein Problem mit dem Code in Ihren Paketfunktionen ist. Stattdessen hat es mit der Art und Weise zu tun, wie '* .Rd' Dateien verarbeitet werden. –