r - 字符串中的函数参数
问题描述
我想在字符串中放置一个参数,以便使用此函数导入文件:
import_df <- function(df) {
df <- read_xpt(
file = "C:\\Folder\\Sub1\\Sub2\\df.xpt"
)
return(df)
}
import_df(ds1)
问题是每次我收到此消息时:错误:'C:\folder\Sub1\Sub2\df.xpt' 不存在。它不会将“df”视为文件路径中的“ds1”。我怎样才能用 R 函数做到这一点?
解决方案
任何变量都会遇到同样的问题,而不仅仅是函数参数。字符串文字与代码根本不同。如果不是,R 怎么会知道你打算df
成为一个变量?为什么不也C
, Folder
,Sub1
和?Sub2
xpt
你需要告诉 R 从不同的部分构造你的字符串。有不同的方法可以做到这一点;最基本的是paste0
:
paste0("C:\\Folder\\Sub1\\Sub2\\", df, ".xpt")
另一种常用的方式是sprintf
,主要适用于熟悉其他语言的人,例如 C 。否则,您可以安装包 '<a href="https://glue.tidyverse.org/index.html" rel="nofollow noreferrer">glue' 并使用该glue
函数插入变量:
glue("C:\\Folder\\Sub1\\Sub2\\{df}.xpt")
推荐阅读
- angular - 在 nativeScript 中使用 wakanda-client 模块作为后端
- python - 具有更多维度的广播函数中的 Numpy ValueError
- hibernate - ORA-00904: 映射问题导致标识符无效
- android - 如何为 Android MenuItems 设置切换。单击另一个时如何显示一个?
- entity-framework-6 - 实体框架 6 在 VS 2019 中未从数据库正确更新
- git - 使用开发分支 Git 流开发模型应用修补程序时如何避免在 Git 中重复提交?
- c# - 将列表框项目保存到 csv 文件中
- android - Android Studio - 为什么 requireViewById(R.id.recyclerview) 不能在 API 22 中工作(它在 28 中)
- java - MapStruct - 第二个映射器的焊接注射不起作用
- facebook - 如何获取 fb:pages 元标记?