在多个文件上循环一个函数

2024-04-09

我写了一个简单的函数:

myfunction <- function(fileName, stringsAsFactors=TRUE,                 
                   check.names=FALSE,               
                   skip =1,...) {
Data <- read.delim(fileName, skip = skip,                     
                 stringsAsFactors=stringsAsFactors,                      
                 check.names = check.names, ...)                   
cb    <- list()                       
Index <- as.numeric(as.factor(Data[,1]))              
cb    <-  cbind(Data, Index)              
return(cb)
}

该函数获取名为 Data 的文件的第一列,根据该第一列创建索引,然后绑定文件 Data 和创建的索引。

该函数将应用于名为:myfile_00.txt, myfile_01.txt等等。对于单个文件,它看起来像:

myfunction (fileName = "myfile_00.txt")
myfunction (fileName = "myfile_01.txt")
.......        

我有大约 1000 个文件,所以我想,循环可以与另一篇文章中的一样:

mytxt  <- dir(pattern=".txt")      
n      <- length(mytxt)      
mylist <- vector("list", n)   
for(i in 1:n) {
    mylist[[i]] <- read.delim(mytxt[i], header = F, skip = 1)
}

然后:

d <- lapply(mylist, myfunction)

不幸的是它不起作用......使用时lapply出现错误:

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
'file' must be a character string or connection

由于我是 R 新手,我可能会犯一些我无法弄清楚的错误。


就像 @Arun 指出的那样,您尝试运行您的函数两次:一次在文件上运行,一次在您创建的数据帧上运行......相反,您的代码应该如下所示:

files <- list.files(pattern = ".txt")
mylist <- lapply(files, myfunction) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在多个文件上循环一个函数 的相关文章

  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • R:按组,测试一个变量的每个值是否存在于另一个变量中

    我有一个数据框架 结构如下 a lt c 1 1 1 2 2 2 3 3 3 3 4 4 b lt c 1 2 3 1 2 3 1 2 3 4 1 2 c lt c NA NA 2 NA 1 1 NA NA 1 1 NA NA df lt
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 要在子集中显示的非数字条目的维恩图

    我有以下数据框 SET1 SET2 SET3 par1 par2 par1 par2 par3 par2 par3 par4 par5 我想制作一个维恩图 其中所有这些 parX 元素都显示在各自的子集中 即作为标签 而不仅仅是重叠元素的数
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • 如何在Rstudio中快速给几个单词加上引号?

    如何将 MI ID FL 转换为 MI ID FL 而无需键入每个双引号 Hmisc 包有一个函数 Cs 它将评估逗号分隔的文本是否带有引号 Cs MI ID FL becomes MI ID FL
  • 扩展数据框以使其具有与原始行中两列的范围一样多的行[重复]

    这个问题在这里已经有答案了 我有一个数据框如下 structure list symbol c u n v i a start c 9L 6L 10L 8L 7L end c 14L 15L 12L 13L 11L Names c symb
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • R 数据结构的运算效率

    我想知道是否有任何关于操作效率的文档R 特别是那些与数据操作相关的 例如 我认为向数据框添加列是有效的 因为我猜您只是向链接列表添加一个元素 我想添加行会更慢 因为向量保存在数组中C level你必须分配一个新的长度数组n 1并将所有元素复
  • 在 RGL 中将立方体绘制到 3D 散点图中

    我正在尝试向 3D 散点图添加较小的立方体 网格 具有指定边长 我希望立方体位于原点 我该怎么做呢 我已经玩过cube3d 但我似乎无法将立方体正确定位 也无法使其成为网格 因此我可以看到它包含的数据点 这是我所拥有的 library rg
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • 如何使用 dplyr 管道将额外参数传递给 purrr::map

    我有以下数据框和功能 param df lt data frame x 1 3 0 1 y 3 1 0 2 param df gt x y gt 1 1 1 2 8 gt 2 2 1 1 8 gt 3 3 1 0 8 my function
  • 函数速度测试的奇怪结果

    我编写了一个使用递归来查找最大公因数 分母 的函数 gt gcd function a b if length a length b gt 1 warning Only scalars allowed using first element
  • 使用括号表示 y 轴上的负值 ggplot2

    我想在括号中显示 y 轴负值 而不是用负号 例如 我想显示 2 000 而不是 2 000 我在 R 中使用 ggplot2 我尝试在scale y continuous内部使用 negative parens TRUE 如下所示 但没有成

随机推荐

  • Access 2010 SQL 查询仅在完整单词的字符串中查找部分匹配

    我希望这是一个简单的 我只是找不到如何获得我想要的结果 也许我在 SQL 中使用了错误的关键字 我正在搜索包含全名字段的员工表 该字段可以是 Sam 或 Evans 先生 或 Sam Evans 先生 我正在尝试查找与另一个包含名称字段的名
  • RecyclerView onClick 无法正常工作?

    我在片段中使用 RecyclerView 来显示带有网格格式文本的图像 Recycler 视图 grid item xml 如下所示
  • 队列管理和新线程

    在 Net 4 0 框架上使用 C 我有一个 Windows 窗体主线程 迄今为止唯一的一个 等待文件系统事件 然后必须对这些事件提供的文件启动一些预定义的处理 我计划执行以下操作 A1 当主进程启动时立即创建一个单独的线程 A2 让主线程
  • python中按特定顺序读取文件

    假设我的文件夹中有三个文件 file9 txt file10 txt 和 file11 txt 我想按这个特定顺序读取它们 谁能帮我这个 现在我正在使用代码 import glob os for infile in glob glob os
  • 无法获取 OLEObject 类的 Object 属性 - Excel Interop

    我用谷歌搜索了这个问题 但未能找到解决方案 如果文件保存为 xls 而不是 xlsm 则此代码有效 我使用的是 Office 2013 32 位 我编写了一个 COM 公开的 C 类库 Excel工作簿实例化一个对象并传入对当前工作簿的引用
  • 使用airflow的DataflowPythonOperator安排数据流作业时出错

    我正在尝试使用airflow 的DataflowPythonOperator 来安排数据流作业 这是我的 dag 运算符 test DataFlowPythonOperator task id my task py file path my
  • 如何从 Azure Key Vault 中的证书获取私钥?

    我在 Azure Key Vault 中有一个证书 我想从中提取私钥 根据微软文档 https learn microsoft com en us azure key vault certificates about certificate
  • Delphi 在保存对话框中覆盖现有文件

    我正在使用 TSaveDialog 组件通过单击按钮来保存文件 但是 我在保存现有文件名时遇到问题 通常 当您想要在 Windows 中保存现有文件时 会弹出一个消息框 询问您是否确实要覆盖该文件 TSaveDialog 组件的情况并非如此
  • 想要在 dojo 中创建一个组合框,其中下拉菜单和自动完成功能仅在用户输入 4 个字符后才启动

    我想在 dojo 中创建一个组合框 其中下拉菜单和自动完成功能仅在用户输入 3 个字符后才会启动 当前的默认设置将开始显示下拉菜单 并在用户输入第一个字符时自动完成 是否有任何属性可以实现此行为 我可以重载某些函数吗 或者我应该自己编写一个
  • GlassFish 3 + Maven + 远程部署

    我找不到任何关于如何通过 Maven 将简单的基于 Maven 的项目部署到远程 GlassFish 服务器的明确答案 mvn package xxx deploy 我认为只有 Cargo 插件支持 GlassFish 3 对吧 我在配置方
  • 为什么在 git reset (--mixed) 之前显式调用 git reset --soft

    在 git 文档 以及许多 SO 线程 中 建议使用这种重置方法 git reset soft HEAD go back to WIP state lt 2 gt git reset lt 3 gt 2 这将从提交历史记录中删除 WIP 提
  • UTF-8 格式的 JAVA Http POST 请求

    我的 J2EE 应用程序能够从 JSP 页面接收 POST 请求 这没有问题 但是如果我使用另一个java应用程序发送POST请求 收到的参数不是UTF 8字符串 这是我的代码 URL url new URL http localhost
  • 使用 std:fstream 如何拒绝对文件的访问(读和写)

    如何拒绝访问使用 fstream 打开的文件 我想在使用 fstream 读取 写入文件时无法访问该文件 您无法使用标准 fstream 来做到这一点 您必须使用特定于平台的函数 在 Windows 上 您可以使用创建文件 http msd
  • 创建 Android 锁屏应用程序。

    如何创建一个锁屏应用程序作为 Android 手机的锁 我确实找到了一个 但它的代码构造很差 如果我按下物理主页键 它就会解锁 使应用程序毫无意义 我确实遇到过一个论坛 指出 Android 4 x 中删除了一些阻止 home 按钮功能的方
  • Google 日历 API - 设计用于?

    我想使用 FullCalendar Javascript 实现 Google Calendar API 在开始编码之前 我有一些问题需要了解 Google Calendar API 的主要用途 如您所知 在创建和启用 API 之前有一些身份
  • 如何在nextjs中添加字体ttf文件

    我是 Nextjs 的新手 我想将自定义字体添加到我的项目中 我完全不知道如何做到这一点 我的字体位于 public fonts 中 我的 global css 文件是这样的 html body padding 0 margin 0 fon
  • 如何在jquery中向FormData添加变量?

    实际上我正在使用以下脚本来发布我的表单 var formData new FormData form driver information 0 ajax type POST url data formData success functio
  • C 中的三重指针:这是风格问题吗?

    我觉得 C 中的三重指针被视为 坏 对我来说 有时使用它们是有意义的 从基础开始 单指针有两个目的 创建数组 并允许函数更改其内容 通过引用传递 char a a malloc or void foo char c means I m go
  • 我如何解密签名并添加到目标 c 中的 YouTube 提取 URL?

    我正在尝试在我的应用程序中播放 YouTube 视频 一切正常 但是当我尝试观看包含 YouTube 内容的视频时 它失败 我研究发现有人认为你应该加密和解密签名并将其添加到 URL 中 我不知道该怎么做decrypt signature
  • 在多个文件上循环一个函数

    我写了一个简单的函数 myfunction lt function fileName stringsAsFactors TRUE check names FALSE skip 1 Data lt read delim fileName sk