1.如何获取和更改当前工作目录
# 获取当前目录
getwd()
# 设置工作目录
setwd(“C:/Users”)
2.创建文件和目录
可以使用dir.create函数在R中创建一个新文件夹或目录,如下所示:
dir.create(“new_folder”)
利用file.create功能创建空白文件
file.create(“new_text_file.txt”)
file.create(“new_word_file.docx”)
file.create(“new_csv_file.csv”)
考虑到这一点,快速创建大量文件变得容易。 例如,下面的代码将创建100个空文本文件:
sapply(paste0(“file”, 1:100, “.txt”), file.create)
3.复制文件/文件夹
file.copy(“source_file.txt”, “destination_folder”)
4.如何列出目录中的所有文件
用R列出目录中所有文件的最简单方法是调用list.files
#列出当前目录中的所有文件
list.files()
#列出另一个目录中的所有文件
list.files(“ C:/ path/to /somewhere / else”)
列出所有子文件夹中的文件
list.files(“C:/path/to/somewhere/else”, recursive = TRUE)
运行默认的list.files不会列出文件的完整路径名。我们可以将参数full.names设置为TRUE,以获取完整的路径名。
list.files(“C:/path/to/somewhere/else”, full.names = TRUE, recursive = TRUE)
list.files还可以将过滤器应用于要列出的文件。例如,下面的R代码将列出目录中的所有CSV文件
#以非递归方式列出所有CSV文件
list.files(pattern = “.csv”)
如果要读取给定目录中的所有CSV文件,以上逻辑可能非常有用。例如,假设您在一个文件夹中有一个CSV列表,并且您想从所有文件中生成一个数据框(假设它们各自具有相同的布局)。您可以通过几行代码来完成此操作:
# read in all the CSV files
all_data_frames <- lapply(list.files(pattern = “.csv”), read.csv)
# stack all data frames together
single_data_frame <- Reduce(rbind, all_data_frames)
5.如何获得创建/修改文件的时间以及有关的其他详细信息
fileSnapshot在目录中获取文件的另一种方法是使用函数fileSnapshot。 fileSnapshot还将为您提供有关文件的其他详细信息。 此函数返回对象列表。
# get file snapshot of current directory
snapshot <- fileSnapshot()
# or file snapshot of another directory
snapshot <- fileSnapshot(“C:/some/other/directory”)
fileSnapshot返回一个列表,在这里我们仅将其称为“快照”。 通过引用“ info”可以从中获得最有用的信息:
size==>文件大小
isdir ==>是文件目录吗? ==> TRUE或FALSE
mode==>八进制的文件权限
mtime ==>上次修改的时间戳
ctime ==>时间戳创建
atime ==>上次访问的时间戳
exe ==>可执行文件的类型(如果不是可执行文件,则为“否”)
file.info
file.info与fileSnapshot相似,区别在于它返回与输入文件相对应的信息的单个记录。 例如,下面的代码将返回特定文件“ some_file.csv”的上面的字段(大小,isdir,模式,mtime等):
file.info(“some_file.csv”)
file.ctime(“C:/path/to/file/some_file.txt”)
file.mtime(“C:/path/to/file/some_file.txt”)
6.如何删除文件
可以使用R使用取消链接删除文件。删除单个文件就像将文件名传递给此函数一样简单。要删除目录,您必须添加参数recursive = TRUE。
# delete a file
unlink(“some_file.csv”)
# delete another file
file.remove(“some_other_file.csv”)
# delete a directory — must add recursive = TRUE
unlink(“some_directory”, recursive = TRUE)
sapply(paste0(“file”, 1:100, “.txt”), unlink)
7.检查文件是否存在
file.exists(“ C:/path/to/file/some_file.txt”)
#检查文件夹是否存在
file.exists(“C:/path/to/file/some_folder”)
#或者,检查是否存在带有dir.exists的文件夹
dir.exists(“C:/path/to/file/some_folder”)
无论现有文件是否为目录,运行file.exists都将返回TRUE,而仅当输入值存在且为目录时,dir.exists才会返回TRUE。
8.如何获取文件扩展名
可以使用工具包中的file_ext函数来获取文件扩展名。
library(tools)
file_ext(“C:/path/to/file.txt”) # returns “txt”
file_ext(“C:/path/to/file.csv”) # returns “csv”
9.如何运行打开文件
要打开或启动文件,请使用shell.exec或file.show函数:
# use shell.exec…
shell.exec(“C:/path/to/file/some_file.txt”)
# or file.show to launch a file
file.show(“C:/path/to/file/some_file.txt”)
10.如何打开文件选择窗口
要打开文件选择窗口,可以运行file.choose()
file.choose()运行此命令将返回用户选择的文件的名称。
11.如何移动文件
在撰写本文时,尚没有内置的基本R函数将文件从一个位置直接移动到另一个位置,但是可以使用filesstrings包及其函数file.move来实现:
library(filesstrings)
file.move(“C:/path/to/file/some_file.txt”, “C:/some/other/path”)
如若转载,请注明出处:https://www.ouq.net/370.html