Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >可以连接成R中的原始字符串的所有子字符串组合

可以连接成R中的原始字符串的所有子字符串组合
EN

Stack Overflow用户
提问于 2019-09-16 15:08:35
回答 1查看 103关注 0票数 1

给定一组N个唯一排序的字符,

如何找到可以连接到原始有序字符集(在R中)的所有子字符串组合?

例如,对于n=5,使用以a开头的字母字符,输入(作为字符元素)和期望的输出(作为字符元素的向量列表)将如下所示,

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ordered.chars <- "abcde"

所需输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ord.substr.list <- list(
c("a","b","c","d","e"),
c("ab","c","d","e"),
c("ab","cd","e"),
c("ab","c","de"),
c("a","bc","d","e"),
c("a","bc","de"),
c("a","b","cd","e"),
c("a","b","c","de"),
c("abc","d","e"),
c("abc","de"),
c("a","bcd","e"),
c("a","b","cde"),
c("ab","cde"),
c("abcd","e"),
c("a","bcde"))

对所有列出的字符元素向量连接成原始字符元素的条件的一种测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
all(unlist(lapply(ord.substr.list, function(x) paste(x, collapse=""))) %in% ordered.chars)

我的google/stackoverflow搜索得到了combn(),它在类似的情况下很有用,但在这里似乎没有什么明显的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-16 17:38:19

您的问题的核心是能够生成power set

这是一个使用RcppAlgos (我是作者)的解决方案。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(RcppAlgos)

customPowSetStr <- function(n) {
    len <- n * 2 - 1
    v <- vector("character", length = len)
    v[seq(1, len, 2)] <- letters[1:n]
    v[seq(2, len, 2)] <- ","

    comboGeneral(0:(n - 1), n - 1, freqs = c(n - 2, rep(1, n - 1)), FUN = function(x) {
        temp <- v
        strsplit(paste0(temp[-(x[x > 0] * 2)], collapse = ""), ",")[[1]]
    })
}

customPowSetStr(5)
[[1]]
[1] "ab" "c"  "d"  "e" 

[[2]]
[1] "a"  "bc" "d"  "e" 

[[3]]
[1] "a"  "b"  "cd" "e" 

[[4]]
[1] "a"  "b"  "c"  "de"

[[5]]
[1] "abc" "d"   "e"  

[[6]]
[1] "ab" "cd" "e" 

[[7]]
[1] "ab" "c"  "de"

[[8]]
[1] "a"   "bcd" "e"  

[[9]]
[1] "a"  "bc" "de"

[[10]]
[1] "a"   "b"   "cde"

[[11]]
[1] "abcd" "e"   

[[12]]
[1] "abc" "de" 

[[13]]
[1] "ab"  "cde"

[[14]]
[1] "a"    "bcde"

[[15]]
[1] "abcde"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57959707

复制
相关文章
使用VBA删除工作表多列中的重复行
自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。
fanjy
2022/11/16
11.4K0
使用VBA删除工作表多列中的重复行
用过Excel,就会获取pandas数据框架中的值、行和列
至此,我们已经学习了使用Python pandas来输入/输出(即读取和保存文件)数据,现在,我们转向更深入的部分。
fanjy
2021/11/29
19.2K0
用过Excel,就会获取pandas数据框架中的值、行和列
Numpy中找出array中最大值所对应的行和列
Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法。 如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使用where方法即可返回最大值对应的行和列。 where返回一个长度为2的元组,第一个元素保存的是行号,第二个元素保存的是列号。
卡尔曼和玻尔兹曼谁曼
2019/01/22
6.4K0
Numpy中找出array中最大值所对应的行和列
问与答63: 如何获取一列数据中重复次数最多的数据?
Q:如下图1所示,在工作表列A中有很多数据(为方便表述,示例中只放置了9个数据),这些数据中有很多重复数据,我想得到重复次数最多的数据是那个,示例中可以看出是“完美Excel”重复的次数最多,如何获得这个数据?
fanjy
2019/08/20
3.6K0
问与答63: 如何获取一列数据中重复次数最多的数据?
SQL 获取一行中多个字段的最大值
在 chaos(id,v1,v2,v3) 表中获取每个 id 对应的 v1、v2、v3 字段的最大值,v1、v2、v3 同为数值类型。
白日梦想家
2020/12/14
11.5K0
pandas中的loc和iloc_pandas获取指定数据的行和列
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/178799.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
10.3K0
pandas中的loc和iloc_pandas获取指定数据的行和列
VBA:根据指定列删除重复行
文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要删除第一行数据,保留后一行的数据。
Exploring
2022/09/20
3.2K0
VBA:基于指定列删除重复行
文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要保留最后测试的数据。之前通过拷贝行的方式保留最后一行的数据(参见文末的延伸阅读1),但运行效率较低。目前通过借助数组和字典达到删除重复行的效果。
Exploring
2022/12/18
3.4K0
VBA:基于指定列删除重复行
获取页面所有a标签并对其添加title属性
今天公司需要做seo优化,添加所有的a标签上面添加title属性。前台在一个一个的添加,我发现了就建议他使用js获取所有的a然后增加属性即可~~(收藏了) <script type=”text/javascript”> $(function(){ for(i=0;i<$(“a”).length;i++) { var a_content=$(“a:eq(“+i+”)”).text(); $(“a:eq(“+i+”)”).attr(‘title‘,a_content); } }); </scrip
苦咖啡
2018/05/08
4.2K0
R语言指定列取交集然后合并多个数据集的简便方法
因为5份数据集以csv格式存储,首先就是获得存储路径下所有的csv格式文件的文件名,用到的命令是
用户7010445
2020/12/18
7.1K0
扩展UltraGrid控件实现对所有数据行的全选功能[Source Code下载]
在前面一篇文章中,我通过对三种Infragistics 控件(UltraToolBarManager、UltraGird和UltraListView)进行扩展,以实现对ToolTip样式的定义,今天我
蒋金楠
2018/01/16
1.5K0
扩展UltraGrid控件实现对所有数据行的全选功能[Source Code下载]
Linux 删除文本中的重复行
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
阳光岛主
2019/02/19
8.6K0
获取GridView中的某列值
    protected void GridView1_RowEditing(object sen
Java架构师必看
2021/03/22
10.2K0
【Python】基于某些列删除数据框中的重复值
Python按照某些列去重,可用drop_duplicates函数轻松处理。本文致力用简洁的语言介绍该函数。
阿黎逸阳
2020/09/08
20.6K0
【Python】基于某些列删除数据框中的重复值
SQL中的行转列和列转行
SQL是IT行业很多岗位都要求具备的一项能力,对于数据岗位而言更是如此,甚至说扎实的SQL基础也往往是入职这些岗位的必备技能。而在SQL面试中,一道出镜频率很高的题目就是行转列和列转行的问题,可以说这也是一道经典的SQL题目,本文就这一问题做以介绍分享。
luanhz
2021/06/25
7.2K0
SQL 中的行转列和列转行
行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题。
玖柒的小窝
2021/11/08
5.5K0
SQL 中的行转列和列转行
【说站】excel筛选两列数据中的重复数据并排序
如果靠人眼来一个个的对比excel的两列数据来去重的话,数据量少还能勉强对比一下,如果几千、几万条数据肯定就需要进行程式化处理,excel对于这个问题给我们提供了很方便的解决方案,这里主要用到excel的“条件格式”这个功能来筛选对比两列数据中心的重复值,并将两列数据中的相同、重复的数据按规则进行排序方便选择,甚至是删除。
很酷的站长
2022/11/24
10.5K1
【说站】excel筛选两列数据中的重复数据并排序
点击加载更多

相似问题

迭代地获得数据帧列的最大值,添加一个并对spark/sql中的所有行重复

12

在R中,如何获取数据帧的列的子集,然后消除重复的行?

10

R数据帧从所有列中删除具有最大值的行。

20

在数据帧(R)的所有列中删除具有重复值的行

10

根据R中数据帧的1列复制行

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文