【发布时间】:2014-10-12 09:35:51
【问题描述】:
我想在 R 中执行此操作。 我运行代码来提取所有文件夹和子文件夹的路径。我得到下面提到的列表。我想对此应用一组规则:
- 如果在整行中遇到 1
"/",则将“/”替换为"/Folder/" - 如果在整行中遇到 2
"/",则什么也不做。 - 如果遇到 3 个或更多
"/",则忽略第一个和最后一个“/”并将所有剩余的“/”替换为"-"
我运行的代码是提取文件路径是:
b<-list.files(path="/Users/Mohit/Desktop/Company/Database",recursive=TRUE)
[1] "Accounts/Academic History.pdf" "Accounts/Contract.pdf"
[3] "Accounts/Credit/Analyst/Banking/TFileOutput.txt" "Accounts/Credit/Analyst/untitled.jpg"
[5] "Accounts/Credit/background.jpg" "Accounts/Credit/background.xcf"
[7] "Accounts/Debit/index.html" "Human Resources/RStudio-0.98.1073.dmg"
[9] "Information Technology/Iti.pdf" "Logistics/1610085_10152585224658626_398303669_n.jpg"
[11] "Sales/947309_10152376144413626_1056138683_n.jpg"
我无法理解要使用哪个功能。带 sapply 的 stringr 包可能吗? 我想把它放在一个带有标题的列中并将其导出为文本文件。
任何帮助将不胜感激。
非常感谢
【问题讨论】:
-
我为我的代码出现的方式道歉。它应该好多了。有11行
-
我更新了新信息。检查是否有帮助。
-
非常感谢。它对我帮助很大。我试图使用你没有使用的 sapply。你没有使用 sapply 有什么原因吗?
-
sapply和apply系列函数在某些方面隐含使用loops。这里ifelse是矢量化的,所以我用它代替sapply