Подтвердить что ты не робот

Как печатать R переменных в середине строки

Я пытаюсь распечатать строку, содержащую смесь строки и переменной. Вот код R в настоящее время:

cat("<set name=\",df$timeStamp,\" value=\",df$Price,\" ></set>\n")

Вот что он распечатывает при запуске:

<set name=",df$timeStamp," value=",df$Price," ></set>

Я хотел бы, чтобы оно имело значение df $timeStamp и df $Price. Я хотел бы, например, следующее:

<set name="2010-08-18 12:00:59" value="17.56" ></set>

Любая идея, в которой я ошибаюсь в коде?

Любая помощь очень ценится.

Привет,

Энтони.

4b9b3361

Ответ 1

Проблема в том, что R не оценивает какое-либо выражение с кавычками - оно просто печатает указанную вами строку. Вокруг него есть несколько способов. Например, вы можете использовать функцию sprintf (непроверено, потому что вы не предоставляете воспроизводимый пример):

   cat(sprintf("<set name=\"%s\" value=\"%f\" ></set>\n", df$timeStamp, df$Price))

Ответ 2

Вам не хватает дополнительных кавычек. Попробуйте следующее:

cat('<set name=\"',df$timeStamp,'\" value=\"',df$Price,'\" ></set>\n')

Вот рабочий пример того, что я имею в виду:

cat("a b c -> \"", letters[1:3], "\"\n")

Ответ 3

Кошка работает отлично, без дополнительных библиотек и побегов:

cat('<set name="', df$timeStamp, '" value="', df$Price, '"></set>\n', sep='')

выход:

<set name="2010-08-18 12:00:59" value="17.56"></set>