R:在 data.frame 列中拆分不平衡列表

2024-04-20

假设您有一个具有以下结构的数据框:

df <- data.frame(a=c(1,2,3,4), b=c("job1;job2", "job1a", "job4;job5;job6", "job9;job10;job11"))

列所在的位置b是一个以分号分隔的列表(按行不平衡)。理想的 data.frame 是:

id,job,jobNum
1,job1,1
1,job2,2
...
3,job6,3
4,job9,1
4,job10,2
4,job11,3

我有一个需要近 2 小时(170K 行)的部分解决方案:

# Split the column by the semicolon.  Results in a list.
df$allJobs <- strsplit(df$b, ";", fixed=TRUE)

# Function to reshape column that is a list as a data.frame
simpleStack <- function(data){
    start <- as.data.frame.list(data)                       
    names(start) <-c("id", "job")
    return(start)
}
# pylr!
system.time(df2 <- ddply(df, .(id), simpleStack))

这似乎是一个大小问题,因为如果我跑

system.time(df2 <- ddply(df[1:4000,c("id", "allJobs")], .(id), simpleStack))

只需要9秒。首先使用 sapply(具有不同的函数)转换为一组 data.frames 很快,但所需的“rbind”需要更长的时间。


#Split by ; as before
allJobs <- strsplit(df$b, ";", fixed=TRUE)

#Replicate a by the number of jobs in each case
n <- sapply(allJobs, length)
id <- rep(df$a, times = n)

#Turn allJobs into a vector
job <- unlist(allJobs)

#Retrieve position of each job
jobNum <- unlist(lapply(n, seq_len))

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

R:在 data.frame 列中拆分不平衡列表 的相关文章

  • 如何使用 R 中的函数 sqlSave() 将数据附加到具有 IDENTITY 主键的 SQL Server 表?

    我在SQL Server中创建了一个表 如下所示 CREATE TABLE testPK ID INT NOT NULL IDENTITY 1 1 PRIMARY KEY NumVal NUMERIC 18 4 现在我想使用 RODBC 函
  • 美人鱼图:调整图表周围的空白

    我在用 Rstudio 编译的 Rmd 报告中使用了美人鱼图 在 HTML PDF 输出中 图表上方和下方有大量空白 请参见下面的示例 Header Text r library DiagrammeR mermaid graph TD cl
  • 将所有分号替换为空格 pt2

    我尝试对 2000 多行关键字的列表运行文本分析 但它们的列出方式如下 战略 管理风格 组织 所以当我使用 tm 删除标点符号时 它就变成了 组织的战略管理风格 我认为这在某种程度上破坏了我常用术语的分析 我尝试过使用 vector lt
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 从另一列的子字符串创建列

    我有一个 Pandas 数据框对象 我想从现有列的子字符串创建新列 我的数据如下所示 Date variable want1 want2 want3 0 02 01 08 Australia Sydney A Australia Sydne
  • 根据 pyspark 中的条件从数据框中删除行

    我有一个包含两列的数据框 col1 col2 22 12 2 1 2 1 5 52 1 2 62 9 77 33 3 我想创建一个新的数据框 它只需要行 col1 的值 gt col2 的值 就像注释一样col1 很长类型和col2 有双
  • 将 Tuple2 的值部分(即映射)合并为按 Tuple2 的键分组的单个映射

    我在 Scala 和 Spark 中这样做 我有和Dataset of Tuple2 as Dataset String Map String String 下面是值的示例Dataset A 1 gt 100 2 gt 200 3 gt 1
  • R 错误:无法更改锁定绑定的值

    我试图估计无限数字流的平均值和标准差 当我运行代码时 出现错误消息 无法更改锁定绑定的值 我做了一些研究 发现这个错误与我使用全局变量有关 但我无法弄清楚 任何帮助将非常感激 在此先感谢您的帮助 define global variable
  • R参考类问题

    我正在尝试在 R 中创建一个简单的参考类 这是我的代码 R 初学者 MyClass lt setRefClass MyClass fields list a numeric b numeric methods list initialize
  • 仅当某些值相等时,如何才能将一个文本文件中的值替换为另一个文本文件中的其他值?

    我有一个名为finalscores txt我想创建一个 python 脚本 它将打开它并从两个单独的列中读取值 这是我的finalscores txt file Atom nVa predppm avgppm stdev delta QPr
  • 通过 r markdown 中的循环创建代码片段

    如同如何使用R中的knitr创建一个包含代码块和文本的循环 https stackoverflow com questions 36373630 how to create a loop that includes both a code
  • R Leaflet Legend:colorBin-删除中断之间的小数

    我正在使用 Leaflet 库在 R 中创建交互式 HTML 地图 传说中采用的是colorBin用于创建将数据分为 6 个类别的方法 使用min values and max values 我已经定义了美国社区调查收入数据的特定范围可能落
  • 两个 pandas 列的字符串连接

    我有一个关注者DataFrame from pandas import df DataFrame foo a b c bar 1 2 3 它看起来像这样 bar foo 0 1 a 1 2 b 2 3 c 现在我想要这样的东西 bar 0
  • 如何确定 R 包的作者?

    如何确定包的作者是谁 鉴于我们拥有这个广泛使用的代码库 我认为参考我在分析中使用的软件是合适的 有没有办法以编程方式检索作者和任何其他相关信息 在伪代码中 我想执行以下操作 references base 我怎样才能做到这一点 为了能够引用
  • 从另一个数据帧创建一个数据帧(使用数据透视)

    我对熊猫有疑问 我有一个包含三列的数据框 id1 id2 amount 由此 我想创建另一个数据框 其索引为 id1 其列为 id2 单元格包含相应的 金额 我们来看一个例子 import pandas as pd df pd DataFr
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 在 igraph 中为社区分配颜色

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

    有人能解释一下 R 中 ordered 参数的用途吗 R says ordered逻辑标志来确定级别是否应被视为有序 按给定的顺序 所以如果我有一个名为名称的因素并设置ordered TRUE names lt factor c fred
  • R - 与 SpatialPolygonsDataFrame 对象相交的 SpatialLinesDataFrame 列表的嵌套循环

    我有一系列需要完成的步骤SpatialLinesDataFrame 此处的 线 基于对象与多特征中各个特征的关系SpatialPolygonsDataFrame 多边形 对象 简而言之 每个线列表元素源自单个面要素内部 并且可能会也可能不会

随机推荐

  • 将 EL 表达式传递给复合组件

    我们仍处于 JSF 1 2 到 2 0 的迁移场景 并且现在面临与 EL 表达式内使用的 c set 或 ui param 变量相关的问题 以下是事实 有一个按钮作为复合组件
  • 如何使用 imagemagick 从命令行将灰度 png 图像转换为 RGB

    我正在尝试使用以下命令将 png 灰度图像转换为 RGB png 图像 convert HopeLoveJoy png size 1x1 fill rgba 0 1 2 0 draw color 511 511 point out test
  • 使用字符串按名称访问局部变量

    我对此很陌生 但我有以下代码 when read puts Reading 1 puts 1 description downcase 我想使用 1 作为可以调用方法的变量 当前解释器返回一个 NoMethodError undefined
  • jpa 标准比较两个字符串而不考虑空格

    我认为这是一个基本问题 但我正在努力寻找答案 问题是 使用CriteriaBuilder并谓词如何比较字符串而不考虑中间的空格 例如 CH 525 kV AREIA 1077 PR 没有 替换 功能CriteriaBuilder图书馆 cb
  • iOS Swift - 使用蓝牙外部扬声器时音质较差

    我正在使用从 url 广播应用程序 流式传输的 iOS 应用程序 一旦我尝试通过外部扬声器或汽车音响系统等蓝牙设备从应用程序进行流传输 音频质量就会非常差且刺耳 当从 iOS 设备本身播放时 一切听起来都很好 扬声器和耳机 override
  • django-cart 还是 Satchmo?

    我正在寻找实现一个非常基本的购物车 Satchmo http www satchmoproject com 似乎安装了一个lot我不需要的应用程序和额外的东西 我听别人提到过Django 购物车 http code google com p
  • 如何对 Google Cloud Storage 中存储的文件使用 cv2.imread?

    假设我有一张标题为 Sunset jpg 的图片存储在 Google 云存储 gs example bucket testing data 上的以下 URL 中 所以图像的完整 URL 是 gs example bucket testing
  • 复制列表初始化从概念上讲是否调用复制构造函数?

    在 C 11 之前 我们可以通过编写类似的代码来进行复制初始化A a 1 这或多或少相当于A a A 1 也就是说 首先创建一个临时对象 然后调用一个复制构造函数 不管复制省略如何 这在概念上都必须是这样 并且复制者必须是可访问的 通过 C
  • DX11 中的顶点缠绕顺序

    我试图用 dx11 绘制一个简单的正方形 但每个三角形的索引顺序决定了它是否显示 我在光栅化状态下将剔除模式设置为无 但它似乎没有改变任何东西 如果我将第一个三角形的顶点指定为 0 1 2 而不是 2 1 0 则该三角形不会显示 所以我的问
  • cuda cpu功能-gpu内核重叠

    我在尝试开发以练习 CUDA 的 CUDA 应用程序时遇到并发问题 我想通过使用 cudaMemecpyAsync 和 CUDA 内核的异步行为来共享 GPU 和 CPU 之间的工作 但我无法成功重叠 CPU 执行和 GPU 执行 它与主机
  • WebCL 在主要浏览器上的实现现状如何? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有这个问题是因为我找不到 Google Mozilla 或 Microsoft 的官方信息 我刚刚找到 2014 年日期的条目 我希
  • 计算边界球体半径时遇到一些问题

    我已经设法用两种方法计算边界球体半径 但没有一种方法能够准确地满足我的要求 我不需要 像素 完美边界球 但我想要比我目前拥有的更好的东西 我正在使用 Wavefront obj 模型并计算这些模型的边界球半径 我提取当前模型尺寸 我使用 N
  • 代码与日志的比率? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 理想的代码与日志记录比率是多少 我不习惯编写日志 因为我开发的大多数应用程序都没有太多日志记录 最近 虽然我换了工作 但我注意到您看不到调用 l
  • 克隆有效,远程推送无效。通过 copssh 的远程存储库

    我按照 Tim Davis 的方法 setup a msysgit server with copssh on windows guide http www timdavis com au git setting up a msysgit
  • 如何向自定义形状添加阴影图案

    我使用 iText 绘制了一个等边三角形 如下所示 canvas setColorStroke BaseColor BLACK int x start getX int y start getY canvas moveTo x y canv
  • 如何使用参数集合格式化 std::string ?

    可以格式化吗std string传递一组参数 目前我正在以这种方式格式化字符串 string helloString Hello s and s vector
  • rspec 与 devise 的集成测试抛出 NoMethodError 错误

    我在这里发布了类似的错误 但所有这些都无法解决我的问题 我的文件 spec request news controller spec rb 如下所示 require spec helper describe NewsController d
  • php 头问题

    你能帮我一下吗 我转移到新的托管 突然收到此错误 警告 无法修改标头信息 标头已由 输出从 home capital public html Google Connect php 1 开始 在 home capital public htm
  • AS3 瓦片地图渲染(具有 1000 个瓦片)

    首先我要说的是 这里的上下文是 Actionscript 3 0 IDE Flashbuilder 以及椋鸟框架 http gamua com starling 因此 我想创建一个可用于平台游戏或类似游戏的图块地图 我想在 800x600
  • R:在 data.frame 列中拆分不平衡列表

    假设您有一个具有以下结构的数据框 df lt data frame a c 1 2 3 4 b c job1 job2 job1a job4 job5 job6 job9 job10 job11 列所在的位置b是一个以分号分隔的列表 按行不