2017-06-22 108 views
1

這可能看起來像一個簡單的問題來解決,但它超出了我的想象。我有以下附加字符串R將變量傳遞給一個封閉的字符串

'{"foo":"bar","x":"<SOME VAR>"}' 

我想將一個變量傳遞給<SOME VAR>的地方。什麼是實現這一目標的最佳方式?任何幫助是極大的讚賞。

+2

不能使用你的名字'gsub'? 'string_name < - gsub(pattern =「」,replacement = variable,x = string_name)'其中string_name是您的示例字符串的名稱 – sweetmusicality

+1

您試過類似的東西嗎? 'y < - 25; paste0('{「foo」:「bar」,「x」:「',y,'」}')'。 – RobertMc

+1

@sweetmusicality完美的工作。你可以把它作爲答案嗎? –

回答

2

(!再張貼這作爲一個答案的要求 - 高興知道它的工作)

不了你使用gsub

string_name <- gsub(pattern = "<SOME VAR>", replacement = variable, x = string_name) 

其中string_name就是你們的榜樣串

0

可以將它保存爲一個列表,如:

a <- list("foo" = "bar", "x" = "<SOME VAR>") 

如果是的話,你可以使用$操作者只需填寫它:

a$x <- 3 
1

你的字符串,其實是一個JSON對象,因此您可以使用R中的任何JSON解析器將您的數據轉換爲易於操作的data.frame

library(jsonlite) 

x <- '{"foo":"bar","x":"<SOME VAR>"}' 
df <- fromJSON(x) 
my_value <- "This is the value I want" 
df$x <- my_value 
df 

#$foo 
#[1] "bar" 
# 
#$x 
#[1] "This is the value I want" 

您可以再次轉換到data.frame用JSON:

toJSON(df, auto_unbox = TRUE) 
相關問題