假设我有一个元素的排序列表,我想生成满足某个条件的所有子集,这样如果给定的集合不满足条件,那么更大的子集也不会满足它,并且一个元素的所有集合都满足它。
例如,给定一个包含所有小于 100 的正整数的列表,确定总和小于 130 的子集:(100,29) (0,1,40)、(0) 等...
我该怎么做(最好是在 Python 中)?
谢谢!:)
希望这有一个简单的答案,我一直无法找到:
我试图写一个仿真,将比较了一些关于大矩阵的行(科目)不同子集和列(变量)的统计方法.
行的子集是使用相当简单sample()的主题ID号,但我正在与列多一点麻烦.
从本质上讲,我希望能够做的就是创建一个将被用来创建一个新的矩阵列索引号的随机样本.到目前为止,我最接近的是:
testmat <- matrix(rnorm(10000),nrow=1000,ncol=100)
column.ind <- sample(3:100,20)
teststr <- paste("testmat[,",column.ind,"]",sep="",collapse=",")
Run Code Online (Sandbox Code Playgroud)
这给了我一个字符串,其中包含testmat[,column.ind]每个采样索引号.有没有办法轻松将其插入cbind()函数中以制作新矩阵?我还有其他明显缺失的方法吗?
我已经能够使用一个循环(即做cbind(matrix,newcolumn)一遍又一遍),但是这是相当缓慢的,因为我使用的基质是相当大的,我会做很多次.我希望有一个更优雅,更快捷的联线解决方案.
这是一个示例:
> tmp
label value1 value2
1 aa_x_x xx xx
2 bc_x_x xx xx
3 aa_x_x xx xx
4 bc_x_x xx xx
Run Code Online (Sandbox Code Playgroud)
如何计算所有重复标签的中位数(或更多,其他数据框列中的相应值),但仅考虑前两个字母(即"aa_1_1"和"aa_s_3"是相同的值)?标签列表是有限且可用的.
我看了一下aggregate,%in%,subset和substr,但我无法编译任何有用而简单.
这是我希望得到的:
> tmp.result
label median1 some.calculation2
1 aa xx xx
2 bc xx xx
3 aa xx xx
4 bc xx xx
Run Code Online (Sandbox Code Playgroud)
非常感谢你.
我有一组变量S,并在S上定义了一个布尔函数f,如下所示:
˚F(X 1,X 2,... X Ñ)= TRUE当且仅当˚F(X 我,X Ĵ)= TRUE∀1≤I≤ Ñ ∀1≤Ĵ≤ Ñ,Ñ > 1,否则为False.
f(a,b)是已知的,f(a,a)是S中的真∀a,b .
我很感激在设计快速算法方面提供了一些帮助,该算法可以返回S的所有子集,其中f返回True.
例如,令S = [a,b,c]和f(a,b)= f(b,c)= f(a,c)= True.然后该算法应返回[[a,b],[a,c],[b,c],[a,b,c]].
我想到了四种改进强力搜索的策略:
1)f的参数顺序无关紧要.
2)使用f(a,a)为真且f(x i,x j)= f(x j,x i)的事实,因此只有i <j需要检查.
2)使用f(x 1,x 2 …
我想从R中的数据帧的标题中删除空格,但我不知道如何仅对标题进行子集化.我的数据帧是由以下代码给出的df的tipe:
a <- c("a", "b")
b <- c(20, 30)
head <- c("d area", "f area")
df <- data.frame(a,b)
names(df) <- head
Run Code Online (Sandbox Code Playgroud)
我想要的是一个带有修改标题的数据框,以便摆脱空格,因此结果将是一个数据帧,如下面代码给出的newdf:
a <- c("a", "b")
b <- c(20, 30)
head <- c("darea", "farea")
df <- data.frame(a,b)
names(df) <- head
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助
朱利亚
我在fasta文件中设置了EST序列.在这里,如何基于序列ID或名称进行子集化?
>gi|296783888|gb|GW992815.1|GW992815 UAS-Mi10 Complementary DNA of mulberry (Morus indica) Morus indica cDNA 5' similar to Putative phosphoribosyltransferase/phosphoribosylanthranilate-like gene from Morus indica, mRNA sequence
GCAGCCGTCGGATCGTGAGCGTGATCGCGTGGCTAGTCGGGTTGGCGAAATGGTTGGATGATATCCGGAG
GTGGAGGAACCCCATTACCACGGTATTGGTCCACATCTTATATTTAGTGCTTGTTTGGTACCCGGATTTG
ATTGTCCCAACCGGGTTTTTATATGTGTTCCTAATCGGTGTATGGTACTATCGGTTTCGGCCCAAGATAC
CAGCGGGTATGGATACCCGACTCTCACAAGCTGAAGCGGTTGACCCGGATGAGCTTGATGAGGAATTCGA
CACCATACCGAGCTCAAAACCACCCGACATAATCAGGGTCCGGTATGACCGGTTGCGGATATTGGCAGCC
CGGGTTCAAACGGTTTTGGGTGATTTTGCAACACAAGGGGAGCGGGTTCAGGCCTTGGTTAGCTGGAGGG
ACCCAAGGGCCACAAAATTGTTCATAGGCGTGTGCTTGGCCATAACAATAATTCTCTATGTGGTGCCACC
CAAAATGGTTGCCGTGGCACTTGGATTCTACTATTTACGACACCCCATGTTCCGAGACCCCATGCCTCCT
GCAAGCTTGAATTTCTTCAGAAGGCTTCCAAGCCTTTCAGACCGCTTTAATGTAGATTAGAATATTATAT
GATTATTAGTAGGCCCAA
>gi|296783887|gb|GW992814.1|GW992814 UAS-Mi9 Complementary DNA of mulberry (Morus indica) Morus indica cDNA 5' similar to Dehydration-responsive protein RD22, Similar to BURP domain-containing protein like gene from Morus indica, mRNA sequence
AAGCAGTGGTCTAGAACCAGAGTGGCCCCTGCGATGCAGGTATCATCTCTATTATCAAAAGGGATAAGGG
GTGGATCCGTCGGGGATTTGAGTCTCACATGGTCGCTGATAACTTATTGAATGGATATTGGATTGTGTGC
AGTGCGACCTAAACAGGATTGCCGTTGGGGCCTGTGGTCAGAGATACCCCACACTTCTCAACTCCCAAAT
TGGATCTTGTTCCTTGTTTTCCTGTATTAAGCCTGACCCCTGAGGCTTTCGCCACTGCCAACTGGGTGCC
GCCTGCTGACTTCTGATTCCCCGTGCTAACGGTTACTCCCGATTCCTTATCCACATCGAAGATGAACTAT
TGACTTCCGCAAACTCAAAAGGCTGCAAGATATCACTGACCGCTGTCGGGATCCGCGATCGGCATATACG
CGAAATCCGATCCCGGATCCCGGGACTGCAGACGGCTGAA
Run Code Online (Sandbox Code Playgroud)
比如使用标题行>gi|296783888|gb|GW992815.1|GW992815 UAS-Mi10 Complementary DNA of mulberry (Morus indica) Morus indica …
说我有以下数据
B <- (5:20)
C <- (6:21)
D <- (7:22)
E <- (8:23)
data <- data.frame(B,C,D,E)
Run Code Online (Sandbox Code Playgroud)
我也有一个矩阵
id <- c(4,7,9,12,15)
Run Code Online (Sandbox Code Playgroud)
这个矩阵代表我想输出到一个新的 data.frame 的行标识
如何使用该subset函数对原始数据进行子集化
new <- subset(data, .....)
Run Code Online (Sandbox Code Playgroud)
所以 new 只包含 5 个观察值
我有一个带有观察结果的数据框A.
Var1 Var2 Var3
1 3 4
2 5 6
4 5 7
4 5 8
6 7 9
Run Code Online (Sandbox Code Playgroud)
和数据框B与观察
Var1 Var2 Var3
1 3 4
2 5 6
Run Code Online (Sandbox Code Playgroud)
这基本上是A的一个子集.现在我想在B中的A NOT中选择观测值,即带有观测值的数据帧C.
Var1 Var2 Var3
4 5 7
4 5 8
6 7 9
Run Code Online (Sandbox Code Playgroud)
有没有办法在R中做到这一点?我使用的数据帧只是任意数据.
如何获得矩阵中每个标签的第一个和最后一个出现的坐标(在列主要排序下)?
一个标签矩阵(其中,标签是实施例1到4):
L = [
1 1 1 1 0 0 0 0
0 0 0 0 2 2 0 0
0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0
0 0 0 0 0 3 0 0
0 0 0 0 0 0 3 3
0 0 0 4 0 0 0 0
4 4 4 0 0 0 0 0
];
Run Code Online (Sandbox Code Playgroud)
对于上面的例子L,我想获得一个坐标矩阵,如:
M = [ …Run Code Online (Sandbox Code Playgroud) 我正在尝试按日期进行子集,我可以使用此处找到的一些代码,但新数据集包含原始数据集中的所有数据,仅包含日期为6/4/18的数据.
我的数据集名称为Full,我的列标题为Date.
这是代码:
Full$date <- as.Date(Full$Date, format= "%m/%d/%Y")
Firstday <- subset(Full, Date = "6/4/18" & date < "6/5/18")
Run Code Online (Sandbox Code Playgroud)
这是数据的示例
Date Weight Length Metabolic rate ext.
6/4/18 45 150 8
6/4/18 35 145 9
6/8/18 15 125 10
6/8/18 16 100 2
Run Code Online (Sandbox Code Playgroud)