Questions tagged «r»

R是一种免费的开源编程语言和软件环境,用于统计计算,生物信息学,可视化和通用计算。请提供最少且可复制的示例以及所需的输出。使用`dput()`作为数据,并通过`library()`调用指定所有非基本包。不要为数据或代码嵌入图片,而应使用缩进的代码块。对于统计相关的问题,请使用https://stats.stackexchange.com。

1
重新排列geom_bar ggplot2中的栏
我正在尝试制作一个条形图,其中该图按从miRNA最高value到miRNA最低的顺序排序。为什么我的代码不起作用? > head(corr.m) miRNA variable value 1 mmu-miR-532-3p pos 7 2 mmu-miR-1983 pos 75 3 mmu-miR-301a-3p pos 70 4 mmu-miR-96-5p pos 5 5 mmu-miR-139-5p pos 10 6 mmu-miR-5097 pos 47 ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + geom_bar(stat="identity")
118 r  ggplot2 

11
当一些数字包含逗号作为千位分隔符时,如何读取数据?
我有一个csv文件,其中一些数值表示为字符串,并用逗号作为千位分隔符,例如"1,513"代替1513。将数据读入R的最简单方法是什么? 我可以使用read.csv(..., colClasses="character"),但是在将这些列转换为数值之前,我必须从相关元素中去除逗号,而且我找不到一种整洁的方式来做到这一点。
117 r  csv  r-faq 

3
使用R查找包含最大值的行索引
给定以下矩阵,假设我要在第二列中找到最大值: mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3) mat [,1] [,2] [,3] [1,] 1 2 3 [2,] 7 8 9 [3,] 4 5 6 我知道max(mat[,2])将返回8。如何返回行索引,在这种情况下为第二行?
117 r  matrix 


16
R:rJava软件包安装失败
使用install.packages("rJava")命令安装rJava时,出现以下错误: checking Java support in R... present: interpreter : '/usr/bin/java' archiver : '/usr/bin/jar' compiler : '/usr/bin/javac' header prep.: '/usr/bin/javah' cpp flags : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux' java libs : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm' checking whether JNI programs can be compiled... yes checking JNI data types... configure: …
116 r  rjava 

3
控制R散点图中的点大小?
在R中,该plot()函数采用一个pch参数来控制图中点的外观。我正在用数以万计的点进行散点图绘制,并且希望使用一个较小但不太小的点。基本上,我觉得pch='.'自己太小了,但又pch=19太胖了。中间是否有某种方式或某种方式可以按比例缩小点数?
116 r  plot  scatter-plot 

6
将数据框的一行转换为矢量
我想从数据帧的一行中创建一个向量。但是我不需要行名和列名。我尝试了几件事...但是没有运气。 这是我的数据框: > df <- data.frame(a=c(1,2,4,2),b=c(2,6,2,1),c=c(2.6,8.2,7.5,3)) > df a b c 1 1 2 2.6 2 2 6 8.2 3 4 2 7.5 4 2 1 3.0 我试过了: > newV <- as.vector(df[1,]) > newV a b c 1 1 2 2.6 但是我真的想要这样的东西: > newV <- c( 1,2,2.6) > newV [1] …
116 r  vector  dataframe 

3
从R中的字符串中删除所有特殊字符?
如何从R中的字符串中删除所有特殊字符并将其替换为空格? 要删除的一些特殊字符是: ~!@#$%^&*(){}_+:"<>?,./;'[]-= 我已经尝试过regex使用[:punct:]模式,但是它仅删除了标点符号。 问题2:以及如何从外语中删除字符,如:â í ü Â á ą ę ś ć? 答:[^[:alnum:]]用于删除~!@#$%^&*(){}_+:"<>?,./;'[]-=,[^a-zA-Z0-9]也用于删除â í ü Â á ą ę ś ćin regex或regexpr功能。
116 regex  string  r  character 

3
在ggplot2中使用facet_wrap和scales =“ free”设置单个轴限制
我正在创建一个多面图,以与预测值与残差的图并排查看预测值与实际值。我将shiny使用不同的训练参数来帮助探索建模工作的结果。我用85%的数据训练模型,对剩余的15%进行测试,然后重复5次,每次都收集实际/预测值。计算完残差后,我data.frame看起来像这样: head(results) act pred resid 2 52.81000 52.86750 -0.05750133 3 44.46000 42.76825 1.69175252 4 54.58667 49.00482 5.58184181 5 36.23333 35.52386 0.70947731 6 53.22667 48.79429 4.43237981 7 41.72333 41.57504 0.14829173 我想要的是: predvs act和predvs的并排图resid predvs. 的x / y范围/限制要act相同,理想情况下min(min(results$act), min(results$pred))为max(max(results$act), max(results$pred)) 在X / Y范围/对限制pred与resid 不被通过我做什么实际与预测的情节影响。x仅对预测值和y余数范围进行绘图就可以了。 为了并排查看两个图,我融合了数据: library(reshape2) plot <- melt(results, id.vars = "pred") …
116 r  ggplot2  facet 

7
在data.frame中添加一列
我有下面的data.frame。我想添加一列,按照第1列(h_no)对数据进行分类,以使h_no 1,2,3,4的第一个系列为1类,第二个系列h_no(1至7)为2 类,依此类推。如最后一栏所示。 h_no h_freq h_freqsq 1 0.09091 0.008264628 1 2 0.00000 0.000000000 1 3 0.04545 0.002065702 1 4 0.00000 0.000000000 1 1 0.13636 0.018594050 2 2 0.00000 0.000000000 2 3 0.00000 0.000000000 2 4 0.04545 0.002065702 2 5 0.31818 0.101238512 2 6 0.00000 0.000000000 2 7 0.50000 0.250000000 2 …
115 r  dataframe 

4
在哪里可以学习如何编写C代码来加快慢速的R函数?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使它成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 学习如何编写用于R的C代码的最佳资源是什么?我了解系统和外语界面 R扩展部分,但是我发现很难。有什么好的资源(在线和离线)用于编写与R一起使用的C代码? 澄清一下,我不想学习如何编写C代码,而是想学习如何更好地集成R和C。例如,如何将C整数向量转换为R整数向量(反之亦然)还是从C标量到R向量?
115 r  rcpp 

11
在命令行(终端)上使用R脚本的最佳方法是什么?
使用R脚本从命令行进行简单绘图非常方便。但是,从bash脚本运行R根本不方便。理想可能是这样的 #!/path/to/R ... 要么 #!/usr/bin/env R ... 但我无法完成任何一项工作。 另一种选择是将脚本纯粹保留在R中,例如script.R,然后使用R --file=script.R或类似名称调用脚本。但是,脚本有时会依赖晦涩的命令行开关,此时,部分代码存在于脚本之外。例如:通过本地.Rprofile将东西从bash偷偷潜入R中,那么所需的开关就--vanilla意味着所有东西--no-init-file。 另一个选择是bash脚本,用于存储R标志并且可以轻松执行,然后调用R脚本。问题在于这意味着单个程序仅被拆分为两个文件,这些文件现在必须保持同步,一起传输到新计算机等。 我目前最不喜欢的选项是将R嵌入到bash脚本中: #!/bin/bash ... # usage message to catch bad input without invoking R ... # any bash pre-processing of input ... # etc R --random-flags <<RSCRIPT # R code goes here RSCRIPT 一切都在一个文件中。它是可执行文件,可以轻松处理参数。问题在于,像这样将bash和R结合在一起,几乎消除了任何IDE不能彼此失败的可能性,并使我的心脏受了重伤。 有什么更好的方法我想念吗?
115 bash  r 

4
`levels <-`(这是什么法术?
在回答另一个问题时,@ Marek发布了以下解决方案:https ://stackoverflow.com/a/10432263/636656 dat &lt;- structure(list(product = c(11L, 11L, 9L, 9L, 6L, 1L, 11L, 5L, 7L, 11L, 5L, 11L, 4L, 3L, 10L, 7L, 10L, 5L, 9L, 8L)), .Names = "product", row.names = c(NA, -20L), class = "data.frame") `levels&lt;-`( factor(dat$product), list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12) ) 产生的输出: [1] Generic Generic Bayer Bayer …
114 r  types  levels 

12
C语言的滚动中值算法
我目前正在研究一种算法,以在C语言中实现滚动中值过滤器(类似于滚动均值过滤器)。从我对文献的搜索来看,似乎有两种相当有效的方法来实现。首先是对值的初始窗口进行排序,然后执行二进制搜索以插入新值,并在每次迭代时都删除现有值。 第二种方法(来自Hardle和Steiger,1995年,JRSS-C,算法296)构建了一个双端堆结构,一端为maxheap,另一端为minheap,中间为中值。这产生了线性时间算法,而不是O(n log n)。 这是我的问题:实施前者是可行的,但是我需要在数百万个时间序列上运行它,因此效率非常重要。事实证明,后者非常难以实施。我在R的stats软件包的代码的Trunmed.c文件中找到了代码,但这是相当难以理解的。 有人知道线性时间滚动中值算法的编写良好的C实现吗? 编辑:链接到Trunmed.c代码http://google.com/codesearch/p?hl=zh-CN&amp;sa=N&amp;cd=1&amp;ct=rc#mYw3h_Lb_e0/R-2.2.0/src/library/stats/src/Trunmed.c
114 c  algorithm  r  statistics  median 

3
如何以一种聪明的方式在Rmarkdown中添加\ newpage?
我想知道是否可以\newpage以一种不同于此的方式在R markdown v2中简单地使用LaTeX 命令: ```{r, results='asis', echo=FALSE} cat("\\newpage") ``` 我产生pdf_output。如果有任何想法,请不要犹豫:)!谢谢 我创建这样的pdf文件: --- title: " " author: " " date: "2014" output: pdf_document: includes: in_header: naglowek.tex highlight: pygments toc: true toc_depth: 3 number_sections: true keep_tex: true ---
114 r  r-markdown 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.