2010-12-07 2 views
4

Как указано в руководстве Intro to R,Can R paste() output ""?

paste("\\") 

печатает

[1] "\\" 

Возможно ли паста, чтобы распечатать

[1] "\" 

?

обновление: Я не хочу, чтобы это хороший ответ Гэвины застрять в комментариях ниже, так что я буду вставить здесь:

print(xtable(as.matrix("\\citep{citation}")), sanitize.text.function = function(x) {x}) 
+1

Какой у вас вопрос? Будет ли `file.path()` help? – 2010-12-07 17:40:28

+0

Вы хотите `print()` -ed вывод или что-то вроде `cat()` или `writeLines()` do? – 2010-12-07 17:47:34

ответ

4

То есть печатное представления из одного «\» в R. Очевидно, что правильный ответ будет зависеть от конечного использования, но будет что-то вроде этого сделать:

> citations <- paste("title", 1:3, sep = "") 
> cites <- paste("\\citep{", citations, "}", sep = "") 
> writeLines(cites) 
\citep{title1} 
\citep{title2} 
\citep{title3} 

Использование writeLines() можно вывести, что в файл, используя SOMET повесят как:

> writeLines(cites, con = file("cites.txt")) 

В результате в следующем файле:

$ cat cites.txt 
\citep{title1} 
\citep{title2} 
\citep{title3} 
6

Вы путаете, как-то хранится и как это «отпечатки».

Вы можете использовать пасту для объединения \ с чем-то другим, но если вы ее распечатаете, тогда напечатанное представление будет \, чтобы избежать \, но если вы выведете его в файл или на экран вместо кошки, тогда вы получить единый \, например:

> tmp <- paste("\\", "cite{", sep="") 
> print(tmp) 
[1] "\\cite{" 
> cat(tmp, "\n") 
\cite{ 
1

Один из способов сделать это заключается в использовании команды write, например,

> write("\\", file="") 
\ 

Запись обычно используется для записи файлов, так что вы должны установить file="", чтобы заставить его печатать на STDOUT.

The \ повторяется в команде записи, чтобы он не упускал закрытие кавычки.

Я не уверен, что это правильный способ сделать это, но он работает для меня.

Редактировать: Произошло слишком поздно, чтобы вы использовали команду paste(). Надеюсь, мой ответ по-прежнему имеет отношение к вашему тяжелому положению. Извиняюсь.

Смежные вопросы