将 DataFrame 中的分隔数据解析为 R 中的单独列

2024-02-21

我有一个看起来像这样的数据框

A  B  C
1  3  X1=7;X2=8;X3=9
2  4  X1=10;X2=11;X3=12
5  6  X1=13;X2=14

我想将 C 列解析为单独的列......

A  B  X1  X2  X3
1  3  7   8   9
2  4  10  11  12
5  6  13  14  NA

在 R 中如何做呢?


首先,这是 data.frame 形式的示例数据

dd<-data.frame(
    A = c(1L, 2L, 5L), 
    B = c(3L, 4L, 6L), 
    C = c("X1=7;X2=8;X3=9", 
    "X1=10;X2=11;X3=12", "X1=13;X2=14"),
    stringsAsFactors=F
)

现在我定义了一个小辅助函数来获取向量,例如c("A=1","B=2")并将它们更改为命名向量,例如c(A="1", B="2").

namev<-function(x) {
    a<-strsplit(x,"=")
    setNames(sapply(a,'[',2), sapply(a,'[',1))
}

现在我执行转换

#turn each row into a named vector
vv<-lapply(strsplit(dd$C,";"), namev)
#find list of all column names
nm<-unique(unlist(sapply(vv, names)))
#extract data from all rows for every column
nv<-do.call(rbind, lapply(vv, '[', nm))
#convert everything to numeric (optional)
class(nv)<-"numeric"
#rejoin with original data
cbind(dd[,-3], nv)

这给了你

  A B X1 X2 X3
1 1 3  7  8  9
2 2 4 10 11 12
3 5 6 13 14 NA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 DataFrame 中的分隔数据解析为 R 中的单独列 的相关文章

  • 泛化 R %in% 运算符以匹配元组

    前几天我花了一段时间寻找一种方法来检查行向量是否包含在 R 中的某些行向量集中 基本上 我想概括 in 运算符来匹配元组而不是向量中的每个条目 例如 我想要 row vec c A 3 row vec 1 A 3 data set rbin
  • ggplot2 中列组合的分面图

    我正在做相关性的组合 并且想在 ggplot2 中绘制每个组合 然而 我希望每个组合都在一个单独的面板上 而不是一个面板上的所有点 making up columns in my real data I m doing correlatio
  • 将表达式捕获为 R 中的函数体

    我正在尝试编写一个程序 该程序将表达式作为输入并返回一个以该表达式绑定作为其主体的函数 caller lt function expr params Function lt function params body env parent f
  • R 中具有重叠样本的分割向量

    假设我有一个包含 1000 个值的向量 我想将此向量 拆分 分区 分组 为多个向量 每个向量包含 200 个值 并且它们之间有 100 个值的重叠 E g vec seq 1 1000 splitWithOverlap vec 200 10
  • Foreach Parallel - 多个输出的组合功能

    我有一组 45000 个用户和 40 多部电影的评分 我需要根据每个用户与其他用户的皮尔逊相关性来预测每个用户的新评分 我还需要存储相似用户的集合以及每个用户 电影组合的相似性 我使用 foreach 包并行执行循环 我设法编写的代码是这样
  • data.table 对数字和文本变量分别进行分组

    我正在尝试简化这个data table作用于数字变量和字符变量的两阶段过程 例如 取第一个元素textvar and sum每个数值变量 考虑这个小例子 library data table dt lt data table grpvar
  • 通过在 R 中填充 NA - 使栅格达到相同程度

    我有几个具有不同几何形状 轮廓的裁剪栅格 具体而言 同一田地的几年的空间产量图 但范围有所不同 测量并不总是整个田地的整体 但在某些年份只是其中的一部分 我想计算这些地图的平均值并将它们组合成一个平均值栅格 然而 这确实意味着 假设 5 层
  • 渲染函数的反应性参数

    我在 Flexdashboard 中有一个表 其列数可以更改 我可以动态计算列的对齐方式 默认对齐方式 23 45作为字符向量 因此左对齐该值 尽管它是一个数字并且应该右对齐 问题是我无法将此对齐传递回renderTable作为一个值ali
  • R 是解释型编程语言还是编译型编程语言?

    R 是解释型编程语言还是编译型编程语言 The R FAQ https cran r project org doc FAQ R FAQ html What is R 003f说 R 的核心是一种解释型计算机语言
  • 将多个对齐的绘图放置在一页上时避免浪费空间

    我想将四个图放在一个页面上 轴标签应仅打印在最边缘 即x仅用于底部图表的轴标签 以及y仅左图的轴标签 这既适用于整个轴的名称 也适用于各个刻度线 我可以使用以下代码生成一些内容 pdf file ExampleOutput pdf widt
  • 使用 geom_bar 按列中一个特定值的计数对 y 轴进行排序

    想知道如何通过减少猕猴桃的数量来对 y 轴上的簇进行排序 df data frame df data frame matrix df nrow 200 ncol 2 colnames df lt c cluster name df clus
  • R 因子变量之间的相关性

    我想知道是否有一种简单的方法来识别与另一个变量 100 相关的特征 因子变量 因此 在示例中 该过程将匹配 颜色 和 车辆 以及 植物 和 高度 color lt c black black blue blue yellow vehicle
  • 如何在闪亮中使用带有reactiveValues的debounce

    我知道我可以像这样将 debounce 与reactive 结合使用 这就是我需要的行为 但我想改用reactiveValues ui lt fluidPage textInput inputId text label To see how
  • 在 R 中提取模式/分隔符之间的字符串

    我的变量名称格式如下 PP Sample 12 GT or PP Sample 17 GT 我正在尝试使用字符串拆分来 grep 出中间部分 即Sample 12 or Sample 17 但是 当我这样做时 IDtmp lt sapply
  • 按月/年间隔汇总每日数据

    我并不经常需要在 R 中处理日期 但我认为这相当简单 我有一列代表数据框中的日期 我只想创建一个新的数据框 使用日期按月 年总结第二列 最好的方法是什么 我想要第二个数据框 这样我就可以将它提供给绘图 您能提供的任何帮助将不胜感激 编辑 供
  • 对列表中的每个数值列表求和

    我想将值附加到 R 中河图中的标签 我有一个值列表列表 需要它来显示节点之间的流 如下所示 edges lt list A list C 10 E 5 B list C 10 C list D 13 E 7 我知道有一个函数可以减少 或求和
  • 在 R 中使用 randomforest() 进行分类?

    我最初有一个由 N 行 12 列组成的数据框 最后一列是我的班级 0 或 1 我必须将整个数据框转换为数字 training lt sapply training temp as numeric 但后来我认为我需要将类列作为因子列来使用 r
  • RStudio 在临时目录中从 Rmarkdown 创建 PDF 文件

    我使用 RStudio 和 Rmarkdown 来创建报告 由于某种原因 使用 Knit 按钮会导致它仅在某个临时目录中创建 从命令输出来看 似乎 pandoc 本身被指示这样做 我觉得这很奇怪 usr lib rstudio bin pa
  • 闪亮的演示文稿 (ioslides):自定义 CSS 和徽标

    我安装了以下内容 RStudio 预览版 版本 0 98 864 2014 年 5 月 24 日 knitr 和shiny 的开发版本 来自 devtools install github c yihui knitr rstudio shi
  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs

随机推荐