我试图做的是在给定特定样本大小的情况下生成1和0的所有可能排列。例如,对于一个n = 8的样本,我希望m = 2 ^ 8 = 256个可能的排列,即:
我已经在R中编写了一个函数来执行此操作,但是在n = 11之后,需要很长时间才能运行。我更喜欢R中的解决方案,但是如果它是另一种编程语言,则可能可以解决。谢谢!
PermBinary <- function(n){
n.perms <- 2^n
array <- matrix(0,nrow=n,ncol=n.perms)
# array <- big.matrix(n, n.perms, type='integer', init=-5)
for(i in 1:n){
div.length <- ncol(array)/(2^i)
div.num <- ncol(array)/div.length
end <- 0
while(end!=ncol(array)){
end <- end +1
start <- end + div.length
end <- start + div.length -1
array[i,start:end] <- 1
}
}
return(array)
}
Run Code Online (Sandbox Code Playgroud) 我有一个data.frame我希望data.frame使用向量分解为s 的列表,该向量将告诉我每个连续列表元素中应该有多少行.
样本数据
vectornom <- c(1,2,4,3)
df <- data.frame(x=1:10,y=11:20)
Run Code Online (Sandbox Code Playgroud)
期望的结果
> new_list
[[1]]
x y
1 11
[[2]]
x y
2 12
3 13
[[3]]
x y
4 14
5 15
6 16
7 17
[[4]]
x y
8 18
9 19
10 20
Run Code Online (Sandbox Code Playgroud)
我感谢您的帮助
我有一个如下所示的数据框:
USequence
# 1 GATCAGATC
# 2 ATCAGAC
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个函数,用C代替所有的G,用T代替A,用G代替C,用A代替T:
USequence
# 1 CTAGTCTAG
# 2 TAGTCTG
Run Code Online (Sandbox Code Playgroud)
这就是我现在所拥有的,该函数接受k,一个带有名为USequence的列的数据框.
conjugator <- function(k) {
k$USequence <- str_replace_all(k$USequence,"A","T")
k$USequence <- str_replace_all(k$USequence,"T","A")
k$USequence <- str_replace_all(k$USequence,"G","C")
k$USequence <- str_replace_all(k$USequence,"C","G")
}
Run Code Online (Sandbox Code Playgroud)
然而,显而易见的问题是,这不会立即替换字符,而是在不会返回所需结果的步骤中.有什么建议?谢谢
什么是缩略的示例串的最佳方式ANNNNNNTCCGGG进入AN6TCCG3,这样,计算出重复2次以上的所有字符,并表示他们的数字?