检查这个例子:
> 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
我的脚本严重依赖外部程序和脚本.我需要确保我需要调用的程序存在.手动,我会在命令行中使用"which"来检查.
有没有相当于File.exists?东西$PATH?
(是的,我想我可以解析,%x[which scriptINeedToRun]但这不是超级优雅.
谢谢!雅尼克
更新:这是我保留的解决方案:
def command?(command)
system("which #{ command} > /dev/null 2>&1")
end
Run Code Online (Sandbox Code Playgroud)
我的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
有没有办法在用户加载时显示消息library(myCustomLibrary)?加载后,我想显示一条消息,告诉用户如何运行所有测试功能.
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))
红宝石的范围非常酷.我最终得到这样的数组:
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)
谢谢!
假设我制作了一个包含数千个点的散点图:
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
我有:
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)