使用rbindlist时如何按一组数据添加索引?

2023-12-10

我有几个具有相同结构的不同 csv 文件。我使用 fread 将它们读入 R,然后使用它们将它们合并成一个更大的数据集rbindlist().

files <- list.files( pattern = "*.csv" );
x2csv <- rbindlist( lapply(files, fread, stringsAsFactors=FALSE), fill = TRUE )

该代码运行良好。但是,我想添加一个填充数字的列,以指示该观察结果来自哪个 csv 文件。例如,输出应该是:

       V1        V2         V3  C1
   1:   0 0.2859163 0.55848521   1
   2:   1 1.1616298 0.87571349   1 
   3:   2 2.1122510 0.95062116   2 
   4:   3 2.6832013 0.57095035   2
   5:   4 2.9117493 0.22854804   2 
   6:   5 2.9886040 0.07685464   3

其中 C1 是新的索引列,表明:第一个和第二个观测值来自 files[1](第一个 .csv 文件);第三个和第四个观察结果来自文件[1](第一个 .csv 文件);等等。


这是一个增强版本尼古拉斯的回答它添加文件名而不是数字:

x2csv <- rbindlist(lapply(files, fread), idcol = "origin")
x2csv[, origin := factor(origin, labels = basename(files))]
  • fread() uses stringsAsFactors = FALSE默认情况下,这样我们可以保存一些击键
  • Also fill = TRUE仅当我们想要读取具有不同结构的文件时才需要,例如不同的位置、名称或列数
  • id col可以命名(默认为.id) 并填充列表元素的序列号。
  • 然后,这个数字被转换成一个因子,其级别用文件名标记。文件名可能比单纯的数字更容易记住。basename()删除文件名中的路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用rbindlist时如何按一组数据添加索引? 的相关文章

随机推荐

  • 如何从包含西里尔字母的频道用户名获取 YouTube 频道 ID

    这是一个 YouTube 频道网址 用户名中包含西里尔字母 https www youtube com c D0 9B D1 83 D1 87 D1 88 D0 B8 D0 B5 D0 B4 D0 BE D0 BA D1 83 D0 BC
  • MySql:计算单词在列中出现的次数

    例如 如果我在这样的列中有数据 data I love book I love apple I love book I hate apple I hate apple 我怎样才能得到这样的结果 I 5 love 3 hate 2 book
  • Selenium 中的轮换代理

    我将 Selenium webdriver 用于 Firefox 和 Scrapy 现在我需要动态更改代理 但到目前为止我在文档中发现的是 当我实例化 webdriver 本身时 我可以在配置文件中指定代理 那么这意味着我无法动态更改代理
  • 如何使用引导验证来验证所见即所得编辑器

    Using bootstrap3 wysihtml5 bower 2013 11 22 所见即所得编辑器 and BootstrapValidator v0 5 2 使用引导验证来验证文本区域 bootstrap wysihtml5 编辑器
  • 如何检查Flutter应用程序是否在前台?

    我不想当应用程序位于前台时显示通知 如何检查我的应用程序的实时状态 在您的 State 类中 您需要实现WidgetsBindingObserver接口并监听小部件状态变化 像这样的事情 class MyHomePageState exte
  • @Autowire 因 @Repository 失败

    我无法使 Autowire 注释与 Repository 注释的类一起使用 我有一个界面 public interface AccountRepository public Account findByUsername String use
  • EditText.getText().toString() 崩溃

    在我的 android 应用程序中 我有 3 个对话框 用户将信息放入 3 个 editText 中 在随机选择要选择的数据后 它会将其中一个数据显示到另一个类 页面上 这是我的主要课程 public class MainActivity
  • 与 Hibernate 的只读数据库连接

    是否可以使用 Hibernate 并通过只读连接连接到数据库 我将从事一个项目 该项目需要连接到现有数据库 从中提取数据 并在应用程序中进行一些复杂的数据操作 在整个过程中 我无法更改数据库中的任何内容 因此需要只读连接 我的第一个想法是使
  • GXT 当过滤器从网格中删除时如何刷新本地数据集?

    我有一个带有一组列和过滤器的本地网格 当我指定过滤条件 通过标题下拉菜单 时 显示的行是整个商店的子集 当我删除过滤器时 标题下拉菜单会正确更新以忽略条件对话框 但显示的行并未经过过滤 删除过滤器后如何触发重新计算 就这么简单 public
  • 如何在加载前获取 Iframe 事件?

    在我的网站中 我在 iframeB 中使用 iframeA 并且当 iframeA 更改其内容时 我必须设置 src 我只能使用 onload 事件来设置它 但这会在加载站点时调用 我正在寻找一些事件或触发器 这可以帮助我在开始加载之前检测
  • 从 Excel 表数组中提取字母等级

    我想知道是否有一种更简单的方法可以从数组中提取字母等级 而不是我当前使用的一堆嵌套 If 语句的方法 我的想法是如果 GPA G1 G5 介于 B1 C12 之间 则返回 A1 A12 图 1 显示原始数据 图 2 是所需输出 这是原始数据
  • AWS RDS 和 pgAdmin4:无法连接到服务器:无法连接到服务器:连接超时

    我试图直接从 pgAdmin4 操作数据库 但无法连接 我检查和做的是 我阅读了这篇文档并遵循https docs aws amazon com AmazonRDS latest UserGuide USER ConnectToPostgr
  • 如何使用 Python 从 NetworkX 中的特定节点属性获取值

    我正在开展一个小组项目 我们需要创建我们正在处理的图表中特定节点属性的所有值的列表 每个节点有 6 个属性 我们只需要一个属性的所有值的列表 import networkx as nx import scipy as sp import m
  • 有没有办法内联调用 XSLT 模板

    如何内联调用 XSLT 模板 例如 代替
  • Android 应用内计费:自定义 sku 购买给出“错误 - 未找到项目”

    我正在尝试使用我自己的 sku 产品 ID upgrade to premium 测试应用内计费 正如我在这里看到的推荐 我正在使用 Dungeons 示例应用程序 我已将 new CatalogEntry upgrade to premi
  • 非类右值始终具有 cv 未限定的类型

    3 10 第 9 节说 非类右值总是具有 cv 不合格的类型 这让我想知道 int foo return 5 const int bar return 5 void pass int int i std cout lt lt rvalue
  • 线程 QueueManagerThread 中的异常 - scikit-learn

    当我设置n 职位 1如果我将 n jobs 设置为相等 则会出现错误大价值 n jobs 100 但如果设置较小的值 例如n jobs 32 它可以正常工作 我试过了重新安装scikit learn 和 joblib 包 但无济于事 另外
  • 如何在 .net 中获取对 Internet Explorer 窗口句柄的引用

    基本上 我试图获取我在 C 中自动化的 Internet Explorer 实例的 HWND SHDocVw InternetExplorer IE new SHDocVw InternetExplorer IE AddressBar fa
  • 如何在android中使用相机拍摄多张图像

    我需要一台可以一次拍摄多张照片然后选择一张的相机 其他内容可能会也可能不会存储在设备上 我试过了this 我可以拍摄多张图像 但如何选择一张图像并在我的应用程序中使用它 我阅读了与camera2相关的文档 但如果没有任何实际示例 它很难理解
  • 使用rbindlist时如何按一组数据添加索引?

    我有几个具有相同结构的不同 csv 文件 我使用 fread 将它们读入 R 然后使用它们将它们合并成一个更大的数据集rbindlist files lt list files pattern csv x2csv lt rbindlist