Кажется довольно ясным, что строки R не могут иметь нулевых символов.(ref: https://stat.ethz.ch/R-manual/R-devel/library/base/html/Quotes.html). Проблема в том, что мне нужно вывести некоторые nuls в файл. Ниже приведено то, что я написал, когда не знал, что у меня возникла проблема, и это работает с файлом, когда моим несоответствующим значением является любой другой символ.
Цель кода - взять 2-мерную матрицу и вывести 1-символьную строку, где совпадения помечены шестнадцатеричным числом 80, а несовпадения - шестнадцатеричным 0 (ноль). Если R не позволяет строкам содержать NUL, каков способ «R» сделать это?
mat<-matrix(c(0,0,0, 0,0,0, 1,0,0),nrow=3,ncol=3)
PrintCellsWhere<-function(mymat=matrix(),value=-1) {
outputstring<-""
for(j in 1:ncol(mymat)) {
for(i in 1:nrow(mymat)) {
if(mymat[i,j]==value) {
outputstring<-paste0(outputstring,"\x80")
} else{
outputstring<-paste0(outputstring,"\x00")
}
}
}
return(outputstring)
}
PrintCellsWhere(mymat=mat,value=1)
Сообщение об ошибке: Ошибка: недопустимый символ nul
Конечная цель - вывести в файл эту конструкцию данных сnuls в нем. Я думал, что собираюсь использовать writeLines ...
(Добавлен лучший пример кода)