如何循环遍历不同目录下的文件

2023-12-01

我想循环多个文件并对它们应用一个函数。问题是这些文件都位于不同但名称相似的目录中。途径模式相似,但数量根据其所属的家族而变化。

例如,我的代码是这样写的:

for(i in 1:numfiles) {
    olddata <- read.table(paste("/home/smith/Family", i, "/Family", i, ".txt", sep="\t"),
                          header=T)      
    # FUNCTION GOES HERE

    write.table(newdata,
                paste("/home/smith/Family", i, "/Family", i, "test.txt",
                      sep = ",", quote=F, row.names=F)
}

我遇到的问题是家庭号码不按数字顺序排列。有些仅标有数字(例如:2),其他人则在该号码后附加一个字母(例如:1a)

在每个家庭子目录(即家庭i)中,我想调用同一个文件(文件名完全相同,但数字(i)根据它所指的家庭而改变)。我想循环这些特定的文件。例如...对于家庭 1a,文件位于:“/home/smith/Family1a/Family1a.txt”,但对于家庭 2,文件位于:“/home/smith/Family2/Family2.txt”。

另外,R 不喜欢我使用numfiles.


看一下?list.files and ?dir, e.g.:

files <- list.files("/home/smith", pattern="Family[[:alnum:]]+.txt", recursive=TRUE, full.names=TRUE)

for (currentFile in files) {
  olddata <- read.table(currentFile, header=TRUE)
  ## some code
  write.table(newdata, file=sub(pattern=".txt$", replacement="test.txt", x=currentFile))
}

Or:

dirs <- dir("/home/smith", pattern="Family[[:alnum:]]+$")

fileName <- file.path(dirs, paste0(dirs, ".txt"))
testFileName <- file.path(dirs, paste0(dirs, "_test.txt"))

for (i in seq(along=fileName))

  olddata <- read.table(fileName[i], header=TRUE)
  ## some code
  write.table(newdata, file=testFileName[i])
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何循环遍历不同目录下的文件 的相关文章

  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs
  • Itertools 与嵌套循环性能

    我必须生成列表中所有两对项目组合 现在 我知道有两种方法可以实现这一点 嵌套 for 循环和 python 的内置迭代工具 from itertools import combinations foo 1 2 3 4 for i in xr
  • profvis() 何时以及为何显示“源不可用”?

    我经常分析 R 代码 并大量使用 profvis 对于某些函数 浏览器窗口的上半部分会显示源代码 有时则不会 我不知道什么时候会出现这种情况 对我来说这似乎是随机的 有谁知道 profvis 何时以及为什么无法在顶部窗口中显示代码 发生这种
  • 每 30 秒运行一次 Laravel 方法

    我有一个在我调用应用程序上的特定 URL 时运行的方法 它处理数据库队列中的行 该间隔被设置为 Cron 可能的最小间隔 即 1分钟 这需要减少到 30 秒 所以我想知道如何最好地实现这一目标 我想我可以在我的脚本中构建一个循环 运行代码两
  • Quarto/Rmarkdown 中的美人鱼图:狭窄且模糊

    我正在尝试生成 pdf 格式的四开文档 稍后会生成 word 格式 我遇到了美人鱼图的问题 请在下面找到一个示例 qmd 文件来说明该问题 所以首先它应该支持 mermaid 标签 但当我这样做时 我无法在 rstudio 中 运行 单元
  • R 中大型稀疏矩阵的聚类分析

    我有一个包含 250000 笔交易 行 和 2183 项 列 的交易数据集 我想将其转换为稀疏矩阵 然后对其进行分层聚类 我尝试了包 sparcl 但它似乎不适用于稀疏矩阵 关于如何解决这个问题有什么建议吗 或者我可以使用任何其他包对稀疏矩
  • glm() 模型的交叉验证

    我正在尝试对我之前在 R 中构建的一些 glm 模型进行 10 倍交叉验证 我对cv glm 函数在boot包 尽管我已经阅读了很多帮助文件 当我提供以下公式时 library boot cv glm data glmfit K 10 这里
  • 如何判断某个软件包是否已经安装?

    当我安装 yaml 包时 如果之前已经安装过 RStudio 则会弹出一条烦人的错误消息 如何判断该软件包是否已安装 以便我可以在代码中决定是否安装该软件包 该消息位于弹出窗口中 内容如下 此安装将更新的一个或多个软件包 当前已加载 在更新
  • mclapply 用户时间大于已用时间

    我正在尝试使用mclapply的功能parallel封装在R 该函数通过计算对数似然距离将值分配给序列矩阵 这是一个 CPU 密集型操作 所结果的system time价值观令人困惑 gt system time mclapply work
  • 通过 RSelenium 单击按钮

    我正在尝试使用 Rselarium 和 Rvest 来抓取 REI 的评论 吊床 我想点击底部的按钮 x 次 这样我就可以抓取所有评论 我有点失落 这是我到目前为止所拥有的 如果您也知道如何在取景器中预览您正在做的事情 而不是屏幕打印 那就
  • 如何在 R 地图库中绘制正确的颜色

    我正在尝试使用 R 地图库为特定国家绘制特定颜色 我可以填写颜色 但它们与各自的国家 地区没有正确关联 我想知道是否有人能知道为什么 我的数据框是 filld 有 3 列 第一列是国家名称 第二列只是一些数字数据 第三列是颜色 countr
  • 为什么我在 ddply 中看到“错误:length(rows) == 1 is not TRUE”?

    我有一个数据框 比如工资单 例如 payroll lt read table text AgencyName Rate PayBasis Status NumRate HousingAuthority 26 843 00 Annual Fu
  • 我可以调整scale_color_brewer的下限吗?

    我已经订购了我想使用 color Brewer 的分类数据 但我很难看到非常低的值 有没有办法去掉这些较低的值或设置范围的下限 ggplot data frame x 1 6 y 10 15 w letters 1 6 aes x y co
  • 当子集长度为零时,如何简洁地处理子集?

    从向量中排除元素x x lt c 1 4 3 2 我们可以减去位置向量 excl lt c 2 3 x excl 1 1 2 这也是动态工作的 excl lt which x which max x gt quantile x 25 1 2
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • R:如何更改ggvis闪亮应用程序中特定范围的绘图背景颜色

    I have a simple shiny app like below and you can run it The plots are created by ggvis and user can choose student name
  • 使用 dplyr 的 select 引用变量名[重复]

    这个问题在这里已经有答案了 通常我会想要选择变量的子集 其中该子集是函数的结果 在这个简单的例子中 我首先获取与宽度特征相关的所有变量名称 library dplyr library magrittr data iris width var
  • 如何处理包内部的 R 数据?

    我正在开发的 R 包需要多个 R 数据对象 例如预先计算的模型和参数 目前 我将包的 数据 目录中的每个对象放在单独的 RData 文件中 使用该包时 用户可以使用 数据 功能将这些对象附加到他们的环境中 我想要的行为是 在加载包时 数据对
  • 使用插入符和方法 = gamLoess 进行训练时 R 崩溃

    当我运行下面的代码时 R 崩溃了 如果我在训练调用中注释掉tuneGrid行 就不会发生崩溃 我已经用另一个数据集尝试过此操作 但仍然使 R 崩溃 崩溃消息是 R 会话中止 R遇到致命错误 会话被终止 开始新会话 代码是 library s
  • R - 如何为数据范围内的缺失值绘制条形图零点?

    假设我对 1 到 10 之间的整数的 200 个点有 10 个观察值 mysample sample rep seq 1 10 20 10 我想用条形图绘制它 barplot table mysample barplot https i s

随机推荐

  • 在 iOS Obj-C 中添加 Firebase 数据库引用的位置

    我正在通过 Firebase 设置实时数据库 但很困惑在哪里放置以下代码行 self ref FIRDatabase database reference 这些是我遵循的说明 https firebase google com docs d
  • Visual Studio - 附加到进程快捷方式

    当我想调试时 我必须执行 调试 gt 附加到进程 gt 在列表中查找进程 gt 附加 我想知道是否可以创建某种快捷方式来为我执行此操作 The shortcut is Ctrl Alt P in Visual Studio 2005 and
  • C++ DLL 调用 C# DLL 的选项有哪些?

    我有一个 C DLL 需要调用 C 类库中的函数 传递值 返回值 我唯一的选择是为 C DLL 提供 COM 接口并使用 IDispatch 从 C 调用它吗 这是最好的方法吗 这里有几个选项可供您选择 使用混合模式 C CLI 程序集作为
  • Google 地图 V3 邮政编码未返回

    我对谷歌地理编码结果有疑问 我正在对法国城市进行地理编码并希望获取其邮政编码 我的问题是 Google 响应了除邮政编码之外的所有数据 例如 对于 Ach re City 我得到了 address components 结果 Object
  • 使用 C# 修复不受信任数据的反序列化

    我有以下相关的 C 代码 json File ReadAllText path isStudentObject JsonConvert DeserializeObject
  • url 中的双转义序列:请求过滤模块被配置为拒绝包含双转义序列的请求

    在我的 ASP NET MVC 应用程序中 我尝试实现如下所示的 URL 产品 标签 for families 当我尝试使用默认配置运行应用程序时 我收到此消息 其中包含 404 11 响应代码 HTTP 错误 404 11 未找到 请求过
  • 如何使用范围和字符串比较来减少代码的运行时间

    我有以下代码 它完全按照我需要的方式执行 但是 循环运行时间太长 3 分钟以上 我是 VBA 新手 所以我不太确定 1 最好的替代方案是什么 2 如何为该替代方案使用正确的语法并使我的代码完美运行 谢谢 Dim i As Integer F
  • R图-在一点画一个大圆

    我怎样才能提出一个大的 没有彩色圆圈的点 x0 和 y0 只是具有 1 值的列表 所以这只是绘制一个值 points x x0 y y0 col green pch 16 但圆圈有点小 而且是彩色的 要使单个绘图字符更大 请使用cex as
  • 按填充子集对堆叠条中的 x 轴进行排序

    有多个问题 here例如 如何在条形图中按频率排列 x 轴ggplot2 但是 我的目标是根据填充子集的相对频率在堆积条形图中的 X 轴上排列类别 例如 我想按类别的百分比对 x 轴进行排序B在变量中z 这是我第一次尝试仅使用 ggplot
  • 将 WCF 合约移至单独的 dll

    我想将 WCF 合约接口移至第三个 DLL 并在手动生成代理时开始从客户端使用它们 DLL中的那些接口必须有吗 ServiceContract 当我从客户端使用它们来生成代理时属性 知道 Dll 的最佳命名是什么吗 它只有合同和 DTO 在
  • 面临 Visual Studio 2015 和 2013 的突然崩溃

    我最近几天面临这个问题 我的 Visual studio 2015 突然崩溃 在检查应用程序事件日志时 我发现对于每次崩溃 都会在其中输入以下日志 Faulting application name devenv exe version 1
  • 当对 XML 中的节点值求和时,SQL Server 出现奇怪的行为

    我问一个关于求和节点值的问题 对 sql server 2008 中的一些 xml 节点值求和 请考虑这段代码 Declare xml xml set xml
  • window.history.back() 显示“文档已过期”页面,有什么办法吗?

    客户要求用户能够在单击结果后返回到充满搜索结果的页面 现在这是一个简单的 jQuery 调用 a detail back button on click function evt evt preventDefault window hist
  • 使用 javascript 填充角度输入

    设置元素的value不管用 它的行为不像用户输入 当我提交此输入时 弹出窗口告诉我我根本没有填写输入 如何像用户一样填充这个输入元素 div class login input input group div
  • 通用 Windows 平台上的递归 XAML 绑定数据模板

    所以我有一个任务类 它有几个属性 并且里面还可以有一个任务对象列表 子任务 我想在 UWP 上递归显示每个任务及其子任务 根据这篇文章 显然 WPF 为此目的有特殊的 UserControls 递归数据模板可能吗 但它们似乎在 UWP 上不
  • 如何在 Chart.js 中指定刻度位置?

    我正在寻找一种方法来手动指定 x y 刻度位置chart js图表 相当于 matplotlib 的matplotlib pyplot xticks 该文档解释了如何创建自定义刻度格式 但这适用于自动计算的刻度位置 如何指定刻度位置 这是我
  • 计算 nd 数组中相同子数组的最快方法?

    让我们考虑一个二维数组A 2 3 5 7 2 3 5 7 1 7 1 4 5 8 6 0 2 3 5 7 第一行 第二行和最后一行是相同的 我正在寻找的算法应该返回每个不同行的相同行数 每个元素的重复项数 如果可以轻松修改脚本以也计算相同列
  • 从 QTableWidget 读取选定的项目

    如何从 QTableWidget 读取选定的项目 Thanks int QTableWidget currentRow const返回当前项目的行 int QTableWidget currentColumn const返回当前项目的列
  • 静态方法和实例方法同名吗?

    我有一个在 C 中同时具有静态和非静态接口的类 类中是否可以有具有相同名称和签名的静态方法和非静态方法 当我尝试这样做时 出现编译器错误 但出于某种原因 我认为有一种方法可以做到这一点 我错了还是没有办法在同一个类中同时拥有静态和非静态方法
  • 如何循环遍历不同目录下的文件

    我想循环多个文件并对它们应用一个函数 问题是这些文件都位于不同但名称相似的目录中 途径模式相似 但数量根据其所属的家族而变化 例如 我的代码是这样写的 for i in 1 numfiles olddata lt read table pa