5

我正在尝试使用 Sys.glob 打开一个名为"apcp_sfc_latlon_subset_19940101_20071231.nc". 以下命令的文件:

> Sys.glob(file.path("data/train", "apcp*"))
[1] "data/train/apcp_sfc_latlon_subset_19940101_20071231.nc"

但是这个命令不返回任何东西。我不知道为什么它不起作用。

> Sys.glob(file.path("data/train", "apcp", "*"))
character(0)

我想要“apcp”位作为它自己的参数,因为我将传递一个变量而不是硬编码字符串。

谢谢你。

4

1 回答 1

6

file.path("data/train", "apcp", "*")返回"data/train/apcp/*"file.path("data/train", "apcp*")返回 "data/train/apcp*"

因此,在第一种情况下,您正在寻找 subdirectoy 中的文件apcp,而在(工作)情况下,您正在寻找从目录中开始apcpdata\train文件。

如果您希望能够将apcp组件作为参数传递,那么 usingpaste0将起作用

starting <- "apcp"

file.path("data/train", paste0(starting, '*', collapse =''))

# "data/train/apcp*"
于 2013-07-30T05:38:29.363 回答