首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中的一个语句下组合字符值

在R中的一个语句下组合字符值
EN

Stack Overflow用户
提问于 2022-04-27 14:35:57
回答 2查看 43关注 0票数 0

我需要把一个物体组合在一个伞下。

下面是一个示例对象。

代码语言:javascript
复制
object <- c("Equal = (G1, 20, Slope[0]); Equal = (G1, 20, Slope[1]);", 
            "Equal = (G1, 21, Slope[0]); Equal = (G1, 21, Slope[1]);",
            "Equal = (G1, 22, Slope[0]); Equal = (G1, 22, Slope[1]);")

> object
[1] "Equal = (G1, 20, Slope[0]); Equal = (G1, 20, Slope[1]);" 
    "Equal = (G1, 21, Slope[0]); Equal = (G1, 21, Slope[1]);"
    "Equal = (G1, 22, Slope[0]); Equal = (G1, 22, Slope[1]);"

我想做的是:

代码语言:javascript
复制
"Equal = (G1, 20, Slope[0]), (G1, 20, Slope[1]),
(G1, 21, Slope[0]), (G1, 21, Slope[1]),
(G1, 22, Slope[0]), (G1, 22, Slope[1]);"

基本上,我需要

代码语言:javascript
复制
(1) combine all under one "Equal" statement.
(2) replace`;` with `,` between statements,
(3) keep one `;` at the end of the object. 

有什么想法吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-04-27 14:45:22

代码语言:javascript
复制
gsub("[; ]+Equal =",',',paste(object, collapse = ''))

[1] "Equal = (G1, 20, Slope[0]), (G1, 20, Slope[1]), (G1, 21, Slope[0]), (G1, 21, Slope[1]), (G1, 22, Slope[0]), (G1, 22, Slope[1]);"
票数 3
EN

Stack Overflow用户

发布于 2022-04-27 14:48:38

您可以使用str_extract_all()stringr提取包含括号的所有文本。

代码语言:javascript
复制
library(stringr)

str_c("Equal = ", toString(unlist(str_extract_all(object, "\\(.+?\\)"))), ";")

# [1] "Equal = (G1, 20, Slope[0]), (G1, 20, Slope[1]), (G1, 21, Slope[0]), (G1, 21, Slope[1]), (G1, 22, Slope[0]), (G1, 22, Slope[1]);"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72030633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档