在R中,我想使用存储的值创建一个字符串.在Python中,我会使用f字符串来提高可读性.
>>> a_val = 1
>>> b_val = 99
>>> fname_python = f'a{a_val}_b{b_val}.csv'
>>> fname_python
a1_b99.csv
Run Code Online (Sandbox Code Playgroud)
我在R,(1)paste和(2)中找到了两种方法sprintf.
a_val <- 1
b_val <- 99
# paste and collapse are best when you have an existing vector
# fname1 <- paste(c('a', a_val, '_b', b_val, '.csv'), collapse = '')
# paste0 is better in this example
fname1 <- paste0('a', a_val, '_b', b_val, '.csv')
# 'a1_b99.csv'
fname2 <- sprintf('a%d_b%d.csv', a_val, b_val)
# 'a1_b99.csv'
Run Code Online (Sandbox Code Playgroud)
有没有更类似于Python的f-strings的东西?
一个选项是glue来自Wickham's tidyverse的 Jim Hester的图书馆.
Github自述文件中的示例:
library(glue)
name <- "Fred"
age <- 50
anniversary <- as.Date("1991-10-12")
glue('My name is {name},',
' my age next year is {age + 1},',
' my anniversary is {format(anniversary, "%A, %B %d, %Y")}.')
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)My name is Fred, my age next year is 51, my anniversary is Saturday, October 12, 1991.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |