Как печатать 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>
Любая идея, в которой я ошибаюсь в коде?
Любая помощь очень ценится.
Привет,
Энтони.
Ответы
Ответ 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>