小编Yan*_*urm的帖子

当有rownames时,write.table会将不需要的前导空列写入标题

检查这个例子:

> a = matrix(1:9, nrow = 3, ncol = 3, dimnames = list(LETTERS[1:3], LETTERS[1:3]))
> a
  A B C
A 1 4 7
B 2 5 8
C 3 6 9
Run Code Online (Sandbox Code Playgroud)

表格显示正确.将它写入文件有两种不同的方式...

write.csv(a, 'a.csv') 这给出了预期:

"","A","B","C"
"A",1,4,7
"B",2,5,8
"C",3,6,9
Run Code Online (Sandbox Code Playgroud)

write.table(a, 'a.txt')这螺丝了

"A" "B" "C"
"A" 1 4 7
"B" 2 5 8
"C" 3 6 9
Run Code Online (Sandbox Code Playgroud)

事实上,缺少一个空的标签....这对于下游事物来说是一种痛苦.这是一个错误还是一个功能?有解决方法吗?(除了write.table(cbind(rownames(a), a), 'a.txt', row.names=FALSE)

干杯,yannick

r export-to-csv write.table

84
推荐指数
3
解决办法
6万
查看次数

"在红宝石中":检查来自ruby的$ PATH中是否存在程序

我的脚本严重依赖外部程序和脚本.我需要确保我需要调用的程序存在.手动,我会在命令行中使用"which"来检查.

有没有相当于File.exists?东西$PATH

(是的,我想我可以解析,%x[which scriptINeedToRun]但这不是超级优雅.

谢谢!雅尼克


更新:这是我保留的解决方案:

 def command?(command)
       system("which #{ command} > /dev/null 2>&1")
 end
Run Code Online (Sandbox Code Playgroud)

更新2:有一些新的答案 - 至少其中一些提供了更好的解决方案.

更新3:ptools gem为File类添加了"which"方法.

ruby unix path

76
推荐指数
5
解决办法
2万
查看次数

R中"!is.null()"的替代

我的R代码最终包含多种形式的语句:

if (!is.null(aVariable)) { 
     do whatever 
}
Run Code Online (Sandbox Code Playgroud)

但这种说法很难阅读,因为它包含两个否定.我更喜欢这样的东西:

 if (is.defined(aVariable)) { 
      do whatever 
 }
Run Code Online (Sandbox Code Playgroud)

is.defined与!is.null相反的类型函数是否在R中存在标准?

欢呼,yannick

r

53
推荐指数
4
解决办法
10万
查看次数

库/包开发 - 加载时的消息

有没有办法在用户加载时显示消息library(myCustomLibrary)?加载后,我想显示一条消息,告诉用户如何运行所有测试功能.

r package

13
推荐指数
2
解决办法
1306
查看次数

Rscript - 摆脱"警告:忽略R_HOME的环境价值"

Rscript非常方便.但是我想在运行时指定输出路径,例如:my.Rscript input > output. message()很适合记录到STDERR,但Rscript似乎系统地输出WARNING: ignoring environment value of R_HOME到STDOUT,即使指定--vanilla--no-environ.

任何解决方法?

(这是R脚本前端版本2.13.0(2011-04-13))

r rscript

12
推荐指数
2
解决办法
6127
查看次数

范围数组的索引数组

红宝石的范围非常酷.我最终得到这样的数组:

geneRanges = [(234..25), (500..510), (1640..1653)]
Run Code Online (Sandbox Code Playgroud)

然后必须删除它们的一部分.为此我:

genePositions = geneRanges.collect {|range| range.entries }.flatten
=> [500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653]
Run Code Online (Sandbox Code Playgroud)

它们被操纵,因此一些数字被排除在外,其他数字可能被添加.我最终可能会这样:

[505, 506, 507, 600, 601, 602, 603, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654]
Run Code Online (Sandbox Code Playgroud)

如何将其转换回紧凑的范围数组?似乎反函数应该存在?我希望它能返回这样的东西:

[(505..507), (600..603), (1643..1654)]
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby arrays range

10
推荐指数
4
解决办法
2852
查看次数

单击以获取散点图坐标

假设我制作了一个包含数千个点的散点图:

ggplot(head(data, n=2000), aes(length, coverage))+ 
    geom_point(alpha = 0.5, color = 'navyblue')  + coord_trans(x='log', y='log')
Run Code Online (Sandbox Code Playgroud)

alt text http://fourmidable.unil.ch/temp/scatterplot.png

我想添加"20个左右最极端点"的标签(在右上角和右下角).它们很容易在视觉上识别.但是以编程方式获取它们似乎有点负担.(需要很多if语句).

有什么办法可以点击R的图形输出来获得它们的精确坐标吗?

谢谢,yannick

r ggplot2

4
推荐指数
1
解决办法
9423
查看次数

从 R 闪亮的数据表按钮扩展下载文件名的动态命名

我有:


library(shiny)
library(DT)

ui <- fluidPage(
    h2("Explorer"),

    tabPanel(h3("Inspector"),
             p("Overview of data for a particular sample."),
             selectInput(inputId = "sample",
                         label = h3("Select sample"),
                         selectize = TRUE,
                         choices = names(vcf_tibbles)),
             dataTableOutput("sample_inspector")
            )
    )

server <- function(input, output) {
  output$sample_inspector <- DT::renderDataTable(

      sample_overview(sample_id = input$sample, vcf_tibbles = vcf_tibbles),
      rownames = FALSE,
      extensions = 'Buttons',
      options = list(paging = FALSE,
             dom = 'Bfrtip',
             buttons = list( list(extend = 'csv',   filename =  paste("snp", input$sample, sep = "-")),
                     list(extend = 'excel', filename =  paste("snp", input$sample, sep …
Run Code Online (Sandbox Code Playgroud)

r shiny dt

3
推荐指数
1
解决办法
1198
查看次数

标签 统计

r ×6

ruby ×2

arrays ×1

dt ×1

export-to-csv ×1

ggplot2 ×1

package ×1

path ×1

range ×1

rscript ×1

shiny ×1

unix ×1

write.table ×1