我想在字串中放置一個引數,以便使用此函式匯入檔案:
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 函式做到這一點?
uj5u.com熱心網友回復:
任何變數都會遇到同樣的問題,而不僅僅是函式引數。字串文字與代碼根本不同。如果不是,R 怎么會知道你打算df成為一個變數?為什么不也C, Folder, Sub1,Sub2和xpt?
你需要告訴 R 從不同的部分構造你的字串。有不同的方法可以做到這一點;最基本的是paste0:
paste0("C:\\Folder\\Sub1\\Sub2\\", df, ".xpt")
另一種常用的方法是sprintf,它主要對熟悉其他語言的人有用,例如 C。否則,您可以安裝包 ' glue ' 并使用該glue函式來插入您的變數:
glue("C:\\Folder\\Sub1\\Sub2\\{df}.xpt")
uj5u.com熱心網友回復:
你需要這個paste0命令。
file = paste0("C:\\Folder\\Sub1\\Sub2\\", df, ".xpt")
基本上,括號內的所有內容都會粘貼在一起。一個類似的命令paste會自動在連接的字串之間引入一個空格,或者你用引數告訴它的sep任何內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/343292.html
標籤:r
下一篇:根據兩個標準為每組獲取多個值
