小编Jer*_*zig的帖子

函数默认参数和命名值

假设我有一个R函数,其中参数可以是几个预定义命名值(其中一个是默认值)或自定义字符向量之一.如何在不依赖魔术值名称或其他标志的情况下实现此目的?

#allow use of predefined subsets or pass their own list
bratPack<-function(members='CORE',...){
  if (members=='CORE')
    members<-c('Emilio Estevez','Anthony Michael Hall','Rob Lowe','Andrew McCarthy','Demi Moore','Judd Nelson','Molly Ringwald','Ally Sheedy')
  else if (members=='ALL')
    members<-c('Emilio Estevez','Anthony Michael Hall','Rob Lowe','Andrew McCarthy','Demi Moore','Judd Nelson','Molly Ringwald','Ally Sheedy','James Spader','Robert Downey, Jr.','Jon Cryer', 'John Cusack', 'Kevin Bacon', 'Jami Gertz', 'Mary Stuart Masterson', 'Matthew Broderick', 'Sean Penn', 'Kiefer Sutherland')
  ...
}
Run Code Online (Sandbox Code Playgroud)

r function

49
推荐指数
2
解决办法
4万
查看次数

如何使用矩阵在ggplot中生成箱线图

在R中,很容易将矩阵转换为箱线图

> myMatrix
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]   27   32   31   28   20   28   10   29   15    29
 [2,]   31   33   20   28   21    9   14   21   34    33
 [3,]   27   33   28   23   26   33   19   11   26    30
 [4,]   33   17   10   31   10   32   10   29   31    28
 [5,]   25   10   29   34   32   33   28   32   32    32
 [6,]   32   19   13   32   26   20    9   26   32    33
 [7,] …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

11
推荐指数
1
解决办法
9036
查看次数

多个工会

我试图在几个列表上做联合(这些实际上是GRanges对象而不是整数列表,但原则是相同的),基本上是一个大联盟.

x<-sort(sample(1:20, 9))
y<-sort(sample(10:30, 9))
z<-sort(sample(20:40, 9))
mylists<-c("x","y","z")
emptyList<-list()
sapply(mylists,FUN=function(x){emptyList<-union(emptyList,get(x))})
Run Code Online (Sandbox Code Playgroud)

那只是返回列表内容.我需要相当于

union(x,union(y,z))
[1]  2  3  5  6  7 10 13 15 20 14 19 21 24 27 28 29 26 31 36 39
Run Code Online (Sandbox Code Playgroud)

但是以可扩展且非"可变的显式"形式编写

r

10
推荐指数
2
解决办法
9087
查看次数

如何更改ggplot2中条形图中的堆叠顺序?

在线条形图指南:

qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear)) 
Run Code Online (Sandbox Code Playgroud)

barplot使用<code> ggplot2 </ code>的<code> qplot </ code>功能

如何让5个位于底部,4个位于底部,3个位于顶部?

r ggplot2

8
推荐指数
2
解决办法
3114
查看次数

如何使用plyr编号行?

基本上我想要一个基于我的队列的自动增量id列 - 在这种情况下.(kmer,cvCut)

    > myDataFrame
       size kmer cvCut   cumsum
1      8132   23    10     8132
10000   778   23    10 13789274
30000   324   23    10 23658740
50000   182   23    10 28534840
100000   65   23    10 33943283
200000   25   23    10 37954383
250000  584   23    12 16546507
300000  110   23    12 29435303
400000   28   23    12 34697860
600000  127   23     2 47124443
600001  127   23     2 47124570
Run Code Online (Sandbox Code Playgroud)

我想要添加一个列,其中包含基于kmer/cvCut组的新行名称

    > myDataFrame
       size kmer cvCut   cumsum  newID
1      8132   23    10     8132      1
10000   778 …
Run Code Online (Sandbox Code Playgroud)

r plyr

7
推荐指数
1
解决办法
1010
查看次数

如何在eachLine中使用firstLine参数

我似乎无法让eachLine跳过第一行,根据这个,有一个整数参数可以传递给eachLine,但我无法弄清楚语法

http://docs.groovy-lang.org/latest/html/groovy-jdk/java/io/File.html#eachLine(int,groovy.lang.Closure)

#doesn't work
new FileReader('myfile.txt').eachLine firstLine=2,{
       line-> println line
}
#nope
new FileReader('myfile.txt').eachLine(2){
       line-> println line
}
Run Code Online (Sandbox Code Playgroud)

groovy

7
推荐指数
2
解决办法
8679
查看次数

Scala中的正则表达式和模式匹配第二部分

作为这个问题的后续行动

下面是一些使用捕获编译和运行的代码.

val myString = "ACATCGTAGCTGCTAGCTG"

val nucCap = "([ACTG]+)".r

myString match {
   case nucCap(myNuc) => println("dna:"+myNuc)
   case _ => println("not dna")
}

>scala scalaTest.scala 
dna:ACATCGTAGCTGCTAGCTG
Run Code Online (Sandbox Code Playgroud)

这是更简单的代码,没有捕获,不编译.

val myString = "ACATCGTAGCTGCTAGCTG"

val nuc = "[ACGT]+".r

myString match {
     case nuc => println("dna")
     case _ => println("not dna")
}

>scala scalaTest.scala
scalaTest.scala:7: error: unreachable code
Run Code Online (Sandbox Code Playgroud)

似乎匹配应该返回一个布尔值,无论是否使用捕获.这里发生了什么?

scala pattern-matching

7
推荐指数
1
解决办法
1034
查看次数

S4构造函数和原型

浏览Hadley Wickham的S4 wiki:https: //github.com/hadley/devtools/wiki/S4

setClass("Person", representation(name = "character", age = "numeric"), 
  prototype(name = NA_character_, age = NA_real_))
hadley <- new("Person", name = "Hadley")
Run Code Online (Sandbox Code Playgroud)

我们如何为Person设计构造函数(像这样)

Person<-function(name=NA,age=NA){
 new("Person",name=name,age=age)
}
Run Code Online (Sandbox Code Playgroud)

不这样做:

> Person()
Error in validObject(.Object) : 
  invalid class "Person" object: 1: invalid object for slot "name" in class "Person": got class "logical", should be or extend class "character"
invalid class "Person" object: 2: invalid object for slot "age" in class "Person": got class "logical", should be or extend class "numeric"
Run Code Online (Sandbox Code Playgroud)

constructor r s4

6
推荐指数
1
解决办法
5378
查看次数

标签 统计

r ×6

ggplot2 ×2

constructor ×1

function ×1

groovy ×1

pattern-matching ×1

plyr ×1

s4 ×1

scala ×1