将字符串拆分为行和列

2023-12-06

我有一根又长又大的绳子:

mystr <- "foo   one   undefined + foo   two   undefined + BAR   three   undefined + "

我想把它变成

   x1    x2        x3
1 foo   one undefined
2 foo   two undefined
3 bar three undefined

通过使用+创建新行,然后用空格创建列。这可能吗?我尝试使用 str_split 和 mutate 但我似乎无法弄清楚如何创建新行。任何帮助表示赞赏!


我们可以用read.table更换后+ with \n using gsub in base R

read.table(text = gsub("+", "\n", mystr, fixed = TRUE),
       header = FALSE, col.names = paste0('x', 1:3))
#    x1    x2        x3
#1 foo   one undefined
#2 foo   two undefined
#3 BAR three undefined

或者使用strsplit with read.table

read.table(text = strsplit(mystr, " + ", fixed = TRUE)[[1]], header = FALSE)

或者我们可以使用fread

library(data.table)
fread(text = gsub("+", "\n", mystr, fixed = TRUE), header = FALSE)

或者使用tidyverse

library(dplyr)
library(tidyr)
tibble(col1 = mystr) %>% 
   separate_rows(col1, sep="\\s*\\+\\s*") %>%
   separate(col1, into = c('x1', 'x2', 'x3')) %>%
   na.omit
# A tibble: 3 x 3
#  x1    x2    x3       
#  <chr> <chr> <chr>    
#1 foo   one   undefined
#2 foo   two   undefined
#3 BAR   three undefined
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串拆分为行和列 的相关文章

  • 替换因子列中的

    我想更换
  • 基于列重复数据集中的行,但增加行[重复]

    这个问题在这里已经有答案了 我有一个数据集 其中包含项目名称 开始年份和合同期限 我需要将这个数据集开发成时间序列 例如 我的数据集中的一行是 项目 A 开始年份 2003 年 合同期限 5 我想根据合同期限重复每一行 我的数据集如下所示
  • magrittr 管道中的 WOE

    如何将下面的证据代码权重放入 magrittr 管道中 df gt 我尝试过的一切似乎都不起作用 df library Information library magrittr df a c aa bb cc aa aa aa bb cc
  • 将公式传递给 R 中的函数?

    对此的任何帮助将不胜感激 我正在使用 Lumley 调查包 并试图简化我的代码 但遇到了一些小障碍 在我的代码中调用包中的 svymean 函数如下 其中第一个参数是指示我想要哪些变量的公式 第二个参数是该数据集 svymean hq eh
  • 从 glmnet 获取变量选择顺序

    我一直在使用 glmnet R 包为一个目标变量 Y 数字 和 762 个协变量构建 LASSO 回归模型 我使用 glmnet 函数 然后coef fit s 0 056360 获取该特定 lambda 值的系数值 我现在需要的是变量选择
  • 如何测试字符串中的前三个字符是r中的字母还是数字?

    下面给出了我拥有的数据集的示例 请注意 总数据集中我有超过两列 ID X 1 MJF34 2 GA249D 3 DEW235R 4 4SDFR3 5 DAS3 我想测试 X 中的前三个字符是否是字母 如果是 那么我想替换该值以仅显示前三个字
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht
  • 你能用 Swift 计算一个字符串吗?

    我有一个变量 并且有一个以字符串形式存储在其中的函数 var x func myFunction y Int println y 有没有办法评估字符串并运行函数 No 没有等效的eval https developer mozilla or
  • RQuantLib 包不适用于 R 3.5.0

    有没有其他人尝试加载 R 3 5 0 的 RQuantLib 包 我尝试过 以前有效 install packages drat dependencies TRUE drat addRepo ghrr install packages RQ
  • 如何检测字符串字节编码?

    我读取了大约 1000 个文件名os listdir 有些是UTF8编码 有些是CP1252 我想将它们全部解码为 Unicode 以便在我的脚本中进一步处理 有没有办法让源编码正确解码为 Unicode Example for item
  • 如何在 R 中更新和重新编译 nlme 源代码

    我正在尝试更新 nlme 包 以便我可以在 gls 命令中使用大圆距离进行相关性 我正在尝试使用指定的更改来编辑源代码here http r 789695 n4 nabble com nlme spatial autocorrelation
  • 根据R中的特定行值将数据帧拆分为多个数据帧

    我需要根据数据帧中重复出现的标题行将数据帧拆分为 17 872 个数据帧 我需要将新创建的数据框存储在列表中 我的数据框看起来像 0 1 2 32 Alert Type Response 33 w1 x1 y1
  • 重叠并固定小平面中的 x 尺度(尺度=“自由”)以制作电影

    在另一篇文章中 Justin 的帮助下 我用以下方法绘制了模拟结果facet gridggplot2 中的选项 包含数据和答案的帖子在这里 使用facet grid选项通过ggplot2绘制数据框的列 https stackoverflow
  • 使用 data() 的 R 包命名空间问题 -- 找不到数据集

    我在尝试在我自己的包中导入包 即 robfilter 时遇到了问题 我尝试使用它的方法之一 adore filter 在这一行失败 data critvals 出现错误 未找到数据集 critvals 如果我通过 require robfi
  • Sweave + RweaveHTML:cat 输出未出现在输出中

    我对 Sweave RweaveHTML 有疑问 我希望 cat 的输出最终出现在正在生成的 html 文件中 我有一个案例 它没有 我不明白为什么 test function bla bla cat Result is 然后在 Rnw 文
  • 将带有两层分隔符的字符串转换为字典 - python

    给定一个字符串 s x t1 ny t2 nz t3 我想转换成字典 sdic x 1 y 2 z 3 我通过这样做让它工作 sdic dict tuple j split t for j in i for i in s split n F
  • 如何合并具有相同列名的数据框

    我有一个数据框 如下所示 structure list Variables structure list ADA ADA LEAD LEAD BIG4 BIG4 LOGMKT LOGMKT LEV LEV ROA ROA ROAL ROAL
  • std::regex 转义正则表达式中使用的特殊字符

    我是字符串来创建一个std regex FILE 作为单元测试的一部分 检查一些打印文件名的异常输出 在 Windows 上失败并显示 regex error error escape 表达式包含无效的转义字符或尾随转义 因为 FILE 宏
  • 有条件地将字符串转换为特定数值

    我确信对此有一个简单的答案 但我已经扫描了堆栈溢出 但无法找到解决方案 似乎 sapply 和 ifelse 函数的组合可能可以完成这项工作 但我不确定 所以我有一个包含字符的数据框 除了一列是数值 Create dataframe whi

随机推荐

  • 如何在 awk 中将分隔字符串拆分为数组?

    当字符串包含管道符号时如何拆分字符串 在里面 我想将它们分成数组 I tried echo 12 23 11 awk split 0 a print a 3 a 2 a 1 效果很好 如果我的字符串就像 12 23 11 那么如何将它们拆分
  • 使用母版页引用 Aspx 页面中的 CSS 表

    标题中已经很好地说明了问题 通常我会使用
  • 瞬态变量有什么用? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么Java有瞬态变量 瞬态关键字将用于防止特定变量的序列化 但为什么我们不应该序列化数据呢 内心有安全感吗 有些类本质上是不可序列化的 因为它们代表管理 Java 环境之外的资源 例如一个File
  • 非 ACID 数据库合规性对现实世界有哪些影响?

    具体来说 是否存在数据丢失的风险 我正在考虑运行一个密集型事务处理系统 其中最重要的是不要丢失任何内容 是否有在银行交易处理等关键任务应用程序中使用 NoSQL 的示例 坦白说 缺乏 ACID 意味着您无法保证原子性 一致性 隔离性或持久性
  • 如何在 Excel 中运行网站表单而无需使用 Sendkeys?

    我正在尝试使用 Excel VBA 在网站上填写表格 我创建了一个 InternetExplorer Application 导航到该页面并查找了一堆数据 使用If UserForm1 TC2 Value True Then或者类似的东西P
  • 我可以在退出区域中获取信标数据吗?我如何检测新信标何时进入该区域?

    当在该区域检测到多个信标时 我怎样才能找到哪一个是最新检测到的 另外 在信标中 我如何知道特定信标已离开该区域 解决这个问题的典型方法是结合信标监控和信标测距 您可以使用信标测距来读取各个标识符 并保留之前见过的信标的 地图 如下所示 pr
  • 有没有办法在 Microsoft Azure 存储资源管理器或 Azure 门户中查看托管磁盘的 blob?

    当我使用 Azure 资源管理器创建 VM 时不受管理的磁盘 我可以在其中查看其 vhd微软Azure存储资源管理器和 或 Azure 门户中名为 vhds 的子容器中指定存储帐户的 Blob 容器 当我使用 Azure 资源管理器创建 V
  • Internet Explorer 10 - 如何应用灰度滤镜?

    此 CSS 代码在 Internet Explorer 9 之前运行得非常好 img gray filter url data image svg xml utf8
  • Spring Boot 3.0.0 中抛出异常的 HttpStatus 未正确处理

    我刚刚迁移到 SpringBoot 3 0 0 但发现应用程序在抛出异常时无法正确处理 HttpStatus 它总是给出 403 FORBIDDEN 或为未经身份验证的请求配置的其他代码 似乎在捕获异常或其他原因后身份验证就会丢失 我在这里
  • 重载不能仅因返回类型而不同

    我正在尝试重载一个函数 因此当在其他地方使用该函数时 它将正确显示结果 即项目数组 void 或单个项目 getSelected type void getSelected type IDataItem getSelected type I
  • 默认的切片索引*真的*是多少?

    来自Python文档docs python org tutorial introduction html strings 切片索引有有用的默认值 省略的第一个索引默认为零 省略的第二个索引默认为被切片的字符串的大小 对于标准情况 这很有意义
  • 如果哈希码被覆盖,使其仅返回常量,那么 Hashmap 键将如何表现?

    我有一个关于Java的小问题Hashmap 如果我覆盖hashCode方法使得 Override public int hashCode return 9 这将导致所有HashMap键具有相同的索引 它们是否会被放置在映射中的链表结构中 或
  • Canvas 中的 onClickListener

    我正在开发一个应用程序 该应用程序以图像作为索引来选择活动将开始的特定图像 但我不知道如何在 Canvas 中设置 onClickListener 或 onTouchListener 这是我的代码 public class DrawView
  • Oracle 中的 TO_NUMBER 函数出现奇怪的问题

    如果记录数超过特定数量 n 则在 varchar2 列的 where 子句中执行 to number 函数时 我遇到间歇性问题 我使用 n 是因为没有发生这种情况的确切记录数 在一个 DB 上 它发生在 n 为 100 万之后 而在另一个
  • 连接耳机时如何将默认音频路由到耳机?

    我正在开发一个应用程序 其中我们只需要使用耳机插孔作为按钮 要求 连接耳机时通过耳机播放默认音频 通话 不需要通过耳机播放音频 有很多通过扬声器和耳机以及蓝牙耳机路由音频的示例 但没有关于在连接耳机时通过设备的耳机路由音频的示例 我已经尝试
  • 没有 www 则不会出现网络字体

    我试图到处寻找答案 我有一个唱歌网站www hugeone co uk 当地址类似于此链接 带有 www 时 一切正常 但是 如果我只输入hugeone co uk 网络字体就不会出现 并且我收到消息 跨源请求被阻止 同源策略不允许读取 远
  • Spring MVC 页面 HTTP 状态 400 和不正确的 URL

    我在使用该应用程序时遇到了一些问题 我有一个注册表单 该注册表单从控制器发布到另一个页面 该页面显示注册表中的查询结果 在结果页面上 我选择一条记录 它返回给我的是 数据到注册页面 用户应该能够在记录返回后更新记录或再次执行查询 我遇到的问
  • 使用java在mongodb上分页的最佳方法是什么

    我正在尝试通过下面的代码在 mongodb 中创建一个简单的分页 collection find skip n limit n 但是 如果我们看到在Java术语中 第一个find将返回所有记录 考虑到我有200万条记录 然后它将它传递给sk
  • 为 scatter3 图创建图例(Matlab)

    我有一个矩阵点X在 3 个维度中 X is a Nx3矩阵 并且这些点属于簇 它所属的簇由下式给出Nx1 vector Cluster 它的值如 1 2 3 所以 我正在绘制它scatter3像这样 scatter3 X 1 X 2 X 3
  • 将字符串拆分为行和列

    我有一根又长又大的绳子 mystr lt foo one undefined foo two undefined BAR three undefined 我想把它变成 x1 x2 x3 1 foo one undefined 2 foo t