如何将文件路径作为字符提取文件的扩展名?我知道我可以通过正则表达式来做到这一点regexpr("\\.([[:alnum:]]+)$", x),但想知道是否有内置函数来处理这个问题?
我有点像R新手,因此有疑问.
我有一个文件
ABCD.csv
Run Code Online (Sandbox Code Playgroud)
.csv之前的长度不固定,并且可以变化为任何长度.如何在.csv之前提取部分.
我有一个这样的路径../some/thing/foobar/foobar.happening,我希望character在最后/和之间的字符串..
我意识到这对某些人来说很容易,但我还不熟悉正则表达式等等.我也可能自己也可以这样做strsplit,但我正在寻找一个优雅的单行,如果可能的话.
提前致谢!
我有一个包含一些域名的表
site
1 Google.com
2 yahoo.in
3 facebook.com
4 badge.net
Run Code Online (Sandbox Code Playgroud)
所以,我想删除"."之后的所有单词.例如(.com,.net,.in).我使用下面的函数,但将我的字符串转换为数字形式.
gsub("\\..*","",df)
Run Code Online (Sandbox Code Playgroud) 那是一个数据:
structure(list(Fasta.headers = c("Person01050.1", "Person01080.1",
"Person01090.1", "Person01100.4", "Person01140.1", "Person01220.1"),
ToRemove.Gr_1 = c(0, 1107200, 17096000, 0, 0, 0), ToRemove.Gr_10 = c(0,
37259000, 1104800000, 783870, 0, 1308600), ToRemove.Gr_11 = c(1835800,
53909000, 623960000, 0, 0, 0), ToRemove.Gr_12 = c(0, 19117000,
808600000, 0, 0, 719400), ToRemove.Gr_13 = c(2544200, 2461400,
418770000, 0, 0, 0), ToRemove.Gr_14 = c(5120400, 1373700,
117330000, 0, 0, 0), ToRemove.Gr_15 = c(6623500, 0, 73336000,
0, 0, 0), ToRemove.Gr_16 = c(0, 0, 31761000, 0, 0, 0), ToRemove.Gr_17 = c(13475000,
0, 29387000, 0, 0, …Run Code Online (Sandbox Code Playgroud) 鉴于一些数据
hello <- c('13.txt','12.txt','14.txt')
Run Code Online (Sandbox Code Playgroud)
我想只取数字并转换为数字,即删除.txt
如何列出文件夹中的数据文件并将其文件名不带扩展名作为数据帧中的因素存储?换句话说:如何从省略 '.csv' 扩展名的文件名列表创建字符向量,并在从这些文件创建数据帧后将此向量作为因子列表存储在数据帧中?
我的最终目标是将包含我的数据的文件名作为 StudyID 存储为数据帧中的因子。我认为这是一个非常简单的任务,但我还没有发现正则表达式所需的格式,或者 sapply 和 gsub 之间是否存在一些改变格式的交互。
'planned' 和 'blurred' 两个文件夹分别包含名为 1.csv、2.csv 等的文件,有时带有非连续数字。具体来说,我认为最好获取因子“模糊 1”、“计划 1”、“模糊 2”、“计划 2”等来命名从这些文件导入的数据以引用研究 ID(编号)和类别(计划的或模糊的)。
我在 RStudio 1.0.143 中尝试过的代码,对发生的事情进行了评论:
# Create a vector of the files to process
filenames <- list.files(path = '../Desktop/data/',full.names=TRUE,recursive=TRUE)
# We parse the path to find the terminating filename which contains the StudyID.
FileEndings <- basename(filenames)
# We store this filename as the StudyID
regmatches('.csv',FileEndings,invert=TRUE) -> StudyID # Error: ‘x’ and ‘m’ must have the same length
lapply(FileEndings,grep('.csv',invert=TRUE)) -> StudyID …Run Code Online (Sandbox Code Playgroud)