将 CSV 导入 R 时如何生成具有 CSV 名称的列?

2023-12-05

我有大量 csv 文件想要读入 R。csv 中的所有列标题都是相同的。起初我以为我需要根据文件名列表创建一个循环,但搜索后我发现了一种更快的方法。这会正确读取并组合所有 csv(据我所知)。

filenames <- list.files(path = ".", pattern = NULL, all.files = FALSE, full.names = FALSE, recursive = FALSE, ignore.case = FALSE)

library(plyr)
import.list <- llply(filenames, read.csv)

combined <- do.call("rbind", import.list)

唯一的问题是我想知道特定行数据来自哪个 csv。我想要一个标记为“源”的列,其中包含特定行来自的 csv 的名称。例如,如果当数据进入 R 时 csv 被称为 Chicago_IL.csv,则该行将如下所示:

> City    State   Market  etc Source  
> Burbank IL      Western etc Chicago_IL

您已经完成了所有艰苦的工作。通过相当小的修改,这应该是简单的。

逻辑是:

  1. 创建一个小型辅助函数,用于读取单个 csv 并添加包含文件名的列。
  2. 在 llply() 中调用此辅助函数

以下应该有效:

read_csv_filename <- function(filename){
    ret <- read.csv(filename)
    ret$Source <- filename #EDIT
    ret
}

import.list <- ldply(filenames, read_csv_filename)

请注意,我对您的代码提出了另一个小改进:read.csv() 返回一个 data.frame - 这意味着您可以使用 ldply() 而不是 llply()。

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

将 CSV 导入 R 时如何生成具有 CSV 名称的列? 的相关文章

  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd
  • 使用 pkg:sjPlot 函数创建一个生成部分斜体单元格的数据框

    我正在尝试创建一个简单的数据表 其中 Coral taxon 列中的属名称为斜体 而 spp 列中的属名称为斜体 属名后面的部分不大写 我尝试使用 expression 函数对 Coral taxon 的每一行进行编码 但没有成功 sum
  • 如何在 R 中绘制一列与其余列的关系图

    我有一个数据集 其中 1 是时间 接下来的 14 个是幅度 我想在一张图表上散布所有大小与时间的关系 其中每个不同的列都是网格化的 分层在另一个之上 我想使用原始数据来制作这些图表 并单独制作它们 但只想执行此过程一次 数据集A 唯一的自变
  • 在 igraph 中为社区分配颜色

    我在 igraph 中使用 fastgreedy community 检测算法在 R 中生成社区 代码返回 12 个社区 但是在绘图时很难识别它们 因为它返回的图的颜色数量有限 我怎样才能用十二种不同的颜色绘制这个图表 l2 lt layo
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • 排序因素与水平

    有人能解释一下 R 中 ordered 参数的用途吗 R says ordered逻辑标志来确定级别是否应被视为有序 按给定的顺序 所以如果我有一个名为名称的因素并设置ordered TRUE names lt factor c fred
  • 如何定义“f_n-chi-square”函数并使用“uniroot”求置信区间?

    I want to get a 95 confidence interval for the following question 我已经写了函数f n在我的 R 代码中 我首先使用 Normal 随机采样 100 个样本 然后定义函数h
  • RStudio 如何确定控制台宽度,为什么它似乎总是出错?

    我刚刚发现wid lt options width在 RStudio 中 它似乎是我日常控制台使用中令人烦恼的根源 或者更确切地说 更接近根源 我应该先说一下 我目前使用的是 R 3 2 2 RStudio 0 99 491 Linux M
  • 用表达式分割轴标签

    我有一个带有包含表达式的长标签的图 我想将其分成两行 在表达式中添加 n 结果不符合预期 ylabel lt expression A very long label with text and n expression alpha bet
  • 使用大矩阵操作

    我必须使用 big matrix 对象 并且无法计算某些函数 让我们考虑以下大矩阵 create big matrix object x lt as big matrix matrix sample 1 10 20 replace TRUE
  • ubuntu中R的igraph包的安装

    我使用以下命令在 ubuntu 中安装 R 的 igraph 包 install packages igraph 但我收到一条错误消息 警告 无法访问存储库的索引 http ftp iitm ac in cran src contrib h
  • 如何使用 R 将每个文件的数据添加为附加行,从而将不同的 .csv 文件合并为一个完整的文件?

    我有几个不同的文件夹 它们都包含一个 csv 文件 所有这些 csv 文件都有一个单独的列 其中包含实验的一种条件的数据 我想以将每个文件的数据添加为新列的方式合并这些 csv 文件 目前 它看起来像这样 C1 csv 102 106 15
  • 将第 N 行上的 NA 行插入 data.frames 列表,其中 N 来自列表

    经过几个小时后 我发现自己无法解决以下问题 我有一个数据框列表 我想分别向每个 DF 插入 而不是替换 一行或多行 NA 始终至少一行 要插入的 NA 数量存储在单独的列表中 为了说明这一点 我有以下两个列表 list of datafra
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 使用 R 下载压缩数据文件、提取和导入数据

    EZGraphs 在 Twitter 上写道 很多在线 csv 都被压缩了 有没有办法下载 解压缩存档并使用 R 将数据加载到 data frame Rstats 我今天也尝试这样做 但最终只是手动下载 zip 文件 我尝试过类似的东西 f
  • Quantmod 的简单功能不再起作用

    我明天要交论文 我收到了一条关于 quantmod 的非常奇怪的错误消息 这是我在过去几周使用这个包时从未遇到过的 我无法导入特定于道琼斯指数 DJI 的数据 我收到以下错误消息 getSymbols DJI src yahoo from
  • R 中两个时间戳之间的左连接

    我的目标是执行左连接intervals哪里的bike id比赛和created at时间戳在records在 之间start and end in the intervals table gt class records 1 data ta
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t

随机推荐

  • 将单列分成 3 列,保留原始列 (R)

    我有一个独特的字符列 位于 DD HH MM 中 我试图将该列分成 3 个新的numeric列 我对单独函数的问题是它替换了原始列 并且我不知道如何传递多个条件SEP 请注意 并非每个观察结果都有 DD 我当前的代码如下所示 separat
  • IPC 性能:命名管道与套接字

    每个人似乎都说命名管道比套接字 IPC 更快 他们快了多少 我更喜欢使用套接字 因为它们可以进行双向通信并且非常灵活 但如果速度相当大 我会选择速度而不是灵活性 您将获得的最佳结果共享内存解决方案 命名管道仅比 16 好TCP 套接字 结果
  • C# 与 C++/CLI 中的 Unicode 字符串文字

    C char z u201D int i int z C CLI wchar t z u201D int i int z In C i正如我所期望的那样 变成了 8221 201D 另一方面 在 C CLI 中 它变成了 65428 FF9
  • Java 获取 MIB 中 OID 的名称/描述

    我正在编写一个网络管理系统 并且需要能够打印出从 SNMP 陷阱接收到的 OID 后面有意义的名称 由于该系统的性质 大小 对于正在使用的每台设备上的每个 MIB 手动将每个 OID 映射到有意义的名称并不是一个好主意 话虽如此 是否有一种
  • 更快的 iPhone PNG 动画

    目前 我的计时器上有一个 PNG 动画 每 0 01 秒触发一次 然而 性能并不是最佳的 而且动画速度明显很慢 我有超过 2000 张图片 有更好的方法来实现这一点吗 我在下面发布了与我的方法类似的内容 timer NSTimer sche
  • R 中向量的指数移动平均值

    我有一个简单的向量如下 x c 14 24 13 82 12 75 12 92 12 94 13 00 14 14 16 28 20 64 17 64 我正在尝试使用以下函数找到该向量的滚动 EMA library TTR y EMA x
  • matplotlib 错误 - 没有名为 tkinter 的模块 [重复]

    这个问题在这里已经有答案了 我尝试在 Windows 10 上通过 Pycharm IDE 使用 matplotlib 包 当我运行这段代码时 from matplotlib import pyplot 我收到以下错误 ImportErro
  • Java Swing、JComboBox 下拉列表在单击之前更改侦听器

    我有一个 JComboBox 其中包含 MIDI 文件列表 我想知道以下操作是否可行 当我单击 JComboBox 时 会打开一个下拉列表 当我将鼠标移到 midi 文件上时 它会播放 10 秒的示例声音 因此我知道该文件包含什么内容在我单
  • CakePHP 不使用我的模型

    我有这两个 CakePHP V 2 4 5 模型 class Owner extends AppModel public name Owner public hasMany array Car and class Car extends A
  • 使用python将csv转为json,json按行排列

    我想使用 Python 将 CSV 转换为一组 JSON 对象 并按行格式化 我尝试了下面的脚本 将几个 SO 答案放在一起 但格式如下 key value key value etc 我想将其格式化为 key value key valu
  • 更改 Microsoft Azure Blob - PHP 的默认服务版本

    this gt blobClient ServicesBuilder getInstance gt createBlobService azureString properties this gt blobClient gt getServ
  • Web Speech API Grammar 是否向开发人员公开?

    我目前正在对 Webkit 语音识别进行一些研究 我想创建一个特定于应用程序的语法文件 根据W3C的定义我写了下面的代码 但它似乎并没有显示出对这些单词的识别效果有所改善 您能提供一些帮助吗 var 识别 new webkitSpeechR
  • 当数组中元素的长度大于 2 时,出现“太多值无法解压(预期为 2)”

    也许问这个问题会很奇怪 因为我当然不明白 例如 如果我们有a 1 2 3 4 操作有效 for x y in a print x y 但是一旦我们向这些元组添加任何其他元素 a 1 2 3 4 5 6 for x y in a print
  • 循环和内置函数之间的数值不一致

    我正在尝试计算随机数数组的总和 但是 当我一次执行一个元素与使用内置函数时 结果之间似乎不一致 此外 当我降低数据精度时 误差似乎会增加 import torch columns 43 22 rows 44 torch manual see
  • C 中的通用数组元素交换

    我现在意识到 在我的许多代码中 我将有 2 或 3 个这样的函数 void swap int a int b int t a a b b t 每个都有自己的指针类型 我想知道的是 是否有一种方法可以交换数组的两个元素 例如 无论数组类型如何
  • 从 dask 中具有多个值的列创建虚拟对象

    我的问题与此主题类似从 pandas 中具有多个值的列创建虚拟对象 目标 我想在下面产生类似的结果 但使用 dask 在熊猫中 import pandas as pd df pd DataFrame fruit Banana Apple D
  • 简单的按钮点击连接到Python函数

    我有一个非常简单的 Qml Python 应用程序 其中有 StackView 中的一些内容 第一页包含一个简单的按钮 我的问题是 Qml 和 Python 之间的所有内容都仅通过信号工作吗 或者按钮可以直接从 python 脚本单击触发
  • 合并两个表/将值连接到单列中

    我有两个表 表 A 保存主产品数据 表 B 保存子产品数据 当表 A 只有一个不同的值时 我想更新表 A 以保存表 B 中相同列的相同值 如果不同计数大于一 我想用逗号连接列 除了键列名称之外 这些表具有相同的列 是否可以编写动态 SQL
  • Python正则表达式将每个匹配替换为自身加上新行

    我有一个很长的正则表达式 有很多交替 我希望能够将正则表达式中的每个匹配替换为自身 后跟新行 n 使用 re sub 最有效的方法是什么 这是一个简单的例子 s I want to be able to replace many words
  • 将 CSV 导入 R 时如何生成具有 CSV 名称的列?

    我有大量 csv 文件想要读入 R csv 中的所有列标题都是相同的 起初我以为我需要根据文件名列表创建一个循环 但搜索后我发现了一种更快的方法 这会正确读取并组合所有 csv 据我所知 filenames lt list files pa