R中的错误条?

我需要一个好的errorbar函数 我已经尝试过这个软件包(psych),但是在这里我不能删除x轴,我也尝试过这个软件包(ggplot2),但是在这里我不能使用第二个y轴。有谁能推荐我一个制作R中错误条的好软件包吗?请参阅软件包中的例如错误条Hmisc group <- factor(sample(1:10,100,T)) y <- (1:10)[group] + rnorm(100) grmean <- tapply(y,group,mean) lims <- tap

Emacs ESS中R的代码完成是否可能与Rstudio中的类似?

Rstudio有一个很好的代码完成特性。它提供了以给定字符串开头的函数的快速视图,以及函数和参数定义 ESS是足够强大的,熟悉我,并集成到Emacs,在那里我执行我的大部分工作-所以我犹豫移动,但这一特征使我考虑这样的举动。 是否可以将此功能集成到Emacs ESS中 Emacs ESS是否有类似的功能 有希望吗(如果有,我怎么能支持这样的努力?) 多亏了Deepayan的rcompgen包(现在作为utils包的一部分“升级”到base R中),您才得以完成。所以当我打字的时候 lm( 点

R 合并两个不规则的时间序列

我有两个多变量时间序列x和y,都覆盖了大致相同的时间范围(一个比另一个早两年开始,但在同一天结束)。这两个系列的观测值都以日期列旁边的空列的形式丢失,也就是说,其中一个系列有多个在另一个系列中找不到的日期,反之亦然 我想创建一个数据框(或类似的),其中有一列列出在x或y中找到的所有日期,没有重复的日期。对于每个日期(行),我希望将x的观测值水平叠加到y的观测值旁边,用NA填充缺失的单元格。例如: >x "1987-01-01" 7.1 NA 3 "1987-01-02"

R 在FUN中访问lappy索引名

有没有办法在我的lappy()函数中获取列表索引名 n = names(mylist) lapply(mylist, function(list.elem) { cat("What is the name of this list element?\n" }) 我问是否可以在lappy()返回的列表中保留索引名,但我仍然不知道是否有一种简单的方法可以获取自定义函数中的每个元素名。我希望避免对名称本身调用lappy,我更希望在函数参数中获得名称。不幸的是,lappy只提供传递向量的元素。 通常的

R 更改新变量赋值的默认环境

我经常想在全局环境下的环境中创建许多变量。使用sys.source的envir参数可以很容易地实现这一点,前提是由源文件创建的所有变量都应该进入单个环境 但我通常使用创建变量集的文件。一组应该进入一个环境,另一组应该进入另一个环境,依此类推。我不想将此文件拆分为多个文件,然后多次调用sys.source 相反,我想要一个命令,它允许我更改分配新变量的默认环境。例如: e <- new.env() setDefaultEnvironment(e) tmp <- 2 e$tmp

R 将数字转换为SI前缀

是否有R函数(或任何包)允许使用标准单位前缀(千、兆等)格式化数字(整数),所以 等等。。。 我可以自己做,但我宁愿不重新发明轮子 require(sitools) f2si(80000) [1] "80 k" f2si(8E12) [1] "8 T" 如果不使用SI前缀,它会附加两个空格,这似乎是非常简单的: f2si(80) [1] "80 " 该函数易于修改以包含舍入。我还通过附加空格解决了这个问题 f2si2<-function (number,rounding=F)

使用grep提取和平均R中的月度数据?

在此之前,我必须说,我真的为糟糕的格式感到抱歉!我似乎无法掌握它。。。 我也是一个书呆子 所以, 我有80个文件,其中包含80条鱼的运动信息 > head(PAVdata) X meanlat meanlong meandepth mindepth maxdepth depthrange rec numhits datetime mon X.1 Y Z 1 23 58.39601 8.708952 6.493529

R中的数组操作

我有一个关于R的简单问题 假设我有一个数组x,其长度是整数h的倍数。我想构造一个长度(x)/h的新数组,它的元素是第一个h元素的和,然后是下一个h元素的和,等等 我可以用糟糕的C相关编码来实现,但我想看看用R实现的最有效的方法 谢谢你的帮助。说你的价值观是正确的 x = 1:100 h = 10 您可以通过创建一个包含h行的矩阵并获取列和来实现这一点: colSums(matrix(x, nrow=h)) # [1] 55 155 255 355 455 555 655 755 855 95

R 强制ggplot2 y轴标签仅为整数,并提供适当的中断

我正在为离散数据绘制条形图,默认情况下,ggplot会为我调整y轴,但会以0.5的间隔给我y轴标签,这是我不喜欢的。我尝试了缩放y\u离散,但每个离散值都会给出y轴打断,这也不好 我是否可以强制y轴打断仅由整数组成,并为每个面提供适当的打断 示例脚本如下所示: set.seed(1) chart.data <- data.frame(x=rep(LETTERS[1:10],3), y=c(sample(0:10,10,replace=TRU

R 计算分位数的平均值

考虑以下向量: vec = rnorm(1000) 我想计算这个向量的五分位数,然后平均每个五分位数的向量值 我知道得到分位数的方法是: qtle = quantile(vec, seq(from = 0, to = 1, by = 0.2) 但我不确定如何有效地计算每个分位数内值的平均值(即底部20%的平均值,下一个20%的平均值等) 有什么想法吗 谢谢。为此,您可以使用findInterval和tapply set.seed(1) vec = rnorm(1000) qs <- q

R 如何在打印期间打开新的打印窗口

我正在编写一段代码,创建一个由多个单独图形组成的绘图,每个ID一个,显示纵向数据。出于视觉上的目的,我使用PAR将图的数量限制为每一个图的20,但是在数据集中有超过20个ID,因此我需要多个图。 当前问题:如何避免在代码移动超过20(或N*20)ID时用新绘图覆盖早期绘图。我认为我需要使用plot.new(),但不清楚如何在中处理此问题,并且找不到前一篇文章确切地解决了此问题 我的代码: # Create sample data by sampling Start <- as.Date("

Rcpp中不保留矩阵列表乘以标量、维度属性

我正在使用Rcpp来加速一些R代码(实际上这是我2014年“待办事项”列表中的一项),部分代码包括将矩阵列表乘以标量,我能够得到结果,但矩阵不是更长的矩阵,而是向量,我想要一个矩阵列表作为最终输出 以下是我目前掌握的代码: // [[Rcpp::depends(RcppArmadillo)]] #include <RcppArmadillo.h> using namespace Rcpp; using namespace arma; // I got this

R 用1500万个字符串中的索引替换每个单词

我有一个1500万字符串的列表,还有一本800万单词的字典。我想用字典中字符串的索引替换数据库中的每个字符串。 我尝试使用散列包来加快索引速度,但替换所有1500万个字符串仍然需要几个小时。 实现这一目标的有效方式是什么 示例[已编辑]: # Database [[1]] [1]"a admit been c case" [[2]] [1]"co confirm d ebola ha hospit howard http lik" # dictionary "t" 1 "ker" 2

R 将具有交替缺失值的两个字符串列合并为一个

我有一个数据框,其中有两列“a”和“b”,交替缺少值(NA) 我尝试了merge和join,但都没有达到我想要的效果。也许是因为我没有可以合并的id?对于整数,我只想绕过这一点,同时添加两列,但在我的情况下如何呢 我为这种类型的任务编写了一个函数,其工作原理与SQL coalesce函数非常相似。你会像这样使用它 dd<-read.table(text="a b dog NA mouse NA NA cat bird NA", header=T) dd$c &l

如何告知您在R中使用了哪些软件包

我有一个非常长的R脚本,其中包含许多if语句和异常情况。正如我一直在做的那样,if一直在导入和测试库,但并没有很好地记录它们。问题是,如果我从干净的安装中运行此脚本,我不确定脚本将运行哪些语句,以及需要哪些库 我的问题是:是否有R函数来测试脚本中使用了哪些库 编辑:我还没有使用所有已安装的库,所以打印(sessionInfo())不会有用,但我只想用一个install.packagesfunction启动脚本。我不确定是否有一个好方法可以自动执行此操作。。。但你能做的是: 打开一个新的R控制台

列表输出截断-如何在R中使用str()展开列出的变量

我有一个data.framedf和600多个变量。我正在编写一个自动创建列的函数,并且需要对它们进行一次可视化检查 str函数提供了一个很好的总结: str(df) 'data.frame': 29 obs. of 602 variables: $ uniqueSessionsIni: POSIXct, format: "2015-01-05 15:00:00" "2015-01-05 16:00:00" "2015-01-05 17:00:00" ... $ uniqueSessio

从另一个目录运行R脚本

下面是一个包含两个脚本的示例 test.R ==> source("incl.R", chdir=TRUE) print("test.R - main script") incl.R ==> print("incl.R - included") 它们都在同一个目录中。当我使用Rscript--vanilla test.R从该目录运行它时,它工作得很好。我想创建多个子目录(run1、run2、run3等等),并为不同的参数值运行我的原始脚本。假设我cd run1,然后尝试运行脚本,

R 几何图形条的渐变填充相对于每个条进行缩放,但未映射到变量

我的目标是重现这个图,我的问题是重现每个条中的渐变填充 在评论后添加 @PavoDive的好评论告诉我们,“你不能用ggplot2来做,而且即使你能做,这也是一个坏主意。”同意这是一个糟糕的图形选择,但出于教学目的,我想重新创建原作,然后展示改进。那么,有没有一个编程解决方案呢 对于ggplot代码后面的数据,我已经很接近了,除了每个条相同的一致渐变颜色(以及微小的记号)。但我的努力导致了填充条与y值匹配,而在原始绘图中,每个条都填充了相同的图案。我怎样才能达到这个效果 ggplot(df,

ggplot.data.frame中出错:应使用aes或aes_字符串创建映射

我在从ggplot提取路径时遇到问题,遇到错误 下面给出的图像解释了我想要的结果:(在图像编辑器中完成,以便于解释) 让我们假设图1是我的原始图。我要找的是将第一个点作为“F”点,并从该点出发24小时 Des %>% mutate(nf = cumsum(ACT=="F")) %>% # build F-to-F groups group_by(nf) %>% mutate(first24h = as.numeric((DateTime-min(DateTime))

readOGR(),“;无法打开文件";错误

首先,我要说的是,我已经详尽地研究了处理readOGR错误的其他线程,并且为了我自己的利益,已经进行了几次尝试来实现它们 我遇到的问题与前面提到的问题类似:也就是说,我无法通过readOGR导入shapefile 我的工作目录是: (“~/Desktop/R\u论文项目”) 请不要让我意识到这不是完整的工作目录。我也为“dns”输入了该值,这会产生相同的结果 shapefile(包括.shp、.dbf、.xml、.shx和.prj)位于: (“~/Desktop/R\u论文\u项目/Shapef

R:如何根据时间和日期查找计数数

我试图实现的目标是计算一周中给定的一天和一小时内发生了多少事件 样本数据: Date Time 2007-07-20 11:00:00 2007-01-05 06:15:00 2007-12-11 23:55:00 2007-12-11 23:55:00 到 输出: Day Hour Count Friday 11:00 AM 1 Friday 6:00 AM 1 Friday 11:00 PM 2 非

R 从公式中删除抵销项

R有一个操作公式的便捷工具,update.formula()。当您想要获得类似“包含除x之外的所有前一个公式中的术语的公式”的内容时,此功能非常有效,例如 (即,这似乎不会删除偏移量(b)。) 我知道我可以通过使用deparse()和文本处理,或者通过递归处理公式来删除我不想要的术语,来破解一个解决方案,但这些解决方案很难看,也很烦人。无论是关于为什么这不起作用的启示,还是一个合理紧凑的解决方案,都是非常好的…这似乎是出于设计。但一个简单的解决方法是 offset2 = offset f3 &l

R 编辑条带尺寸ggplot2

我尝试应用这个解决方案()来改变ggplot中刻面上条带的大小,我增加了高度大小 library(ggplot2) library(gtable) d <- ggplot(mtcars, aes(x=gear)) + geom_bar(aes(y=gear), stat="identity", position="dodge") + facet_wrap(~cyl) g <- ggplotGrob(d) g$heights[[3]

用R表示;点击";网页上的下载文件按钮

我正试图使用此网页刮取数据。有两个下拉框要求筛选数据。我不需要过滤数据,所以我将这些数据留空,然后单击“搜索爆发”继续下一页 但是,我注意到,结果表只包含少量的列(只有5列),而它应该包含的列总数(总共24列)。但是,如果单击“将结果下载到Excel”按钮并打开下载的文件,则所有24列都将出现。这就是我需要的 所以,看起来这已经从一个刮擦练习(使用httr和rvest)变成了更困难的事情。然而,如何使用R实际“点击”“下载结果到Excel”按钮,我感到很困惑。我猜我将不得不使用RSelenium

Rstudio针织按钮无法加载rJava

Rstudio的knit按钮无法编织包含rJava包的RMRKDOWN(Rmd)文件。但是,如果我使用rmarkdown::render(),相同的Rmd文件将毫无问题地呈现到html中 我可以用以下代码重现错误: 试验内容。Rmd: --- title: "test" output: html_document --- ```{r} library(rJava) ``` 单击“针织”按钮将返回: processing file: test.Rmd Error : .onLoad fail

R 多多边形中自交特征生成的所有子多边形的高效提取

从一个包含大量(大约20000个)可能部分重叠多边形的shapefile开始,我需要提取所有由相交不同“边界”生成的子多边形 实际上,从一些模型数据开始: library(tibble) library(dplyr) library(sf) ncircles <- 9 rmax <- 120 x_limits <- c(-70,70) y_limits <- c(-30,30) set.seed(100) xy <- data.frame( id =

R 使用Cowplot align保持打印间距不变

我正在尝试使用Cowplot绘制一些“紧密堆叠”的图。我可以使用以下MWE获得我想要的效果: library(ggplot2) library(cowplot) disp_plot <- ggplot(data=mtcars,aes(x= hp,y=disp)) + geom_point()+ theme(plot.margin = unit(c(0.3,0.3,0.0,0.15), "cm"), axis.text.x =eleme

将标签添加到R中计算的叉积矩阵

我创建了一个表,如下所示 A_ID<-c(111,116,111,112,112,114,116,113,114,111,114,116,115,116,116) U_ID<-c(221,221,222,222,223,223,223,224,224,225,225,225,226,226,226) df_u_a<-data.frame(U_ID,A_ID) myTab <- table(df_u_a) # count myTab[] <- as.integer

如何使用R将大型igraph子集为一个节点及其连接的节点?

我在R中有一个非常大的igraph(称为g) 我只对一个节点(NodeA)以及任何直接连接到NodeA的节点感兴趣。我想以一个非常简单的图形结束,如下图所示 我尝试过子图(g,“nodeA”),但我最终只得到了nodeA本身 我想我需要将图g的边子集为那些连接到节点A的边,然后使用subgraph.edges()。我不知道如何根据边连接到的节点对边进行子集划分 尝试使用邻居() #示例图 g1?如果订单=1,则生成自我图形应执行此操作: g <- make_graph(c(1, 2, 2,

R 循环忽略表的多个图

我试图生成10对图,每页图中有几对,并使用for循环来构造这些对。但是,打印会作为单独的打印而不是页面发送到设备 下面的MWE对于基本图形和ggplot版本具有相同的构造,但基本图形工作,而ggplot不工作。我需要做什么才能在第二个版本中获得正确的分页 library(ggplot2) attach(mtcars) # correct configuration par(mfrow=c(2,2)) for (ii in 1:3){ vars <- c("wt", "disp", "

如何在ggplot2中绘制置信区间极限的虚线??R工作室

下面将使用内置数据集iris的子集,其中Species==“setosa” 请注意,为了获得预测置信带,必须在绘制之前拟合线性模型 ggplot(data=Dane, aes(x=reg$fitted.values, y=reg$residuals))+ geom_smooth(method="lm", se=TRUE, level=0.95)+ theme(panel.background = element_rect(fill = "white", colour = "grey50"))

GGR中的宽度

我有一个关于r中ggplot的binwidth的问题 我有两组数据,一组称为“error\u hat”,另一组称为“error\u tilde”。我分别制作了它们的柱状图,我发现它们彼此相似 现在我想把它们放在一起做一个比较。我的代码如下: catagory <- c(rep("error_hat",length(error_hat)) , rep("error_tilde",length(error_tilde))) error <- c(error_hat, error_t

R中置信区间的计算

我试图手动计算R中t检验的置信区间,我怀疑我计算置信区间的方法是错误的 下面是我现在手动计算置信区间的方法 library(broom) data("mtcars") a1=tidy(t.test(mpg ~ am, mtcars)) mean_diff<-a1$estimate tvalue <-a1$statistic #standard error sd1=sd(mtcars$mpg[mtcars$am==0]) sd2=sd(mtcars$mpg[mtcars$am==

R 创建一个tibble和随机化

我想用ID(iter)和随机生成的数据创建一个TIBLE iter data <int> <list> 1 1 <dbl [5]> 2 2 <dbl [5]> 3 3 <dbl [5]> 当您在第二个不起作用的expample中调用lappy()时,您需要仅按其名称引用iter,而不是尝试重新构建向量 tibble(iter = 1:iter, data = lapply(iter, g

如何使用for循环转换列

我试图将Amazon产品名称转换为特定类别,并替换数据框中的原始值。我该怎么做 我已经有了一个正则表达式代码和for循环,可以找到并打印转换,但是我在替换列中的原始值时遇到了问题。我还有一个嵌套的for循环,它似乎可以工作,但它只能正确地转换和替换其中一个类别(Kindle)。我想我的休息条件并不像我想的那样有效 定义类别的代码: fire=unique(grep(“^[^Certified].*fire-TV”,amz$name,value=TRUE)) kindle=unique(grep(

R 跨两个向量(包括NAs)查找不匹配位置

我很不好意思问这个问题。一个有经验的R用户肯定知道这一点,但是: 我需要找到两个假设相同的向量之间不匹配的位置。在这种情况下,NAs被视为不匹配非常重要 数据示例 我尝试过的事情: 您可以使用: x != y | is.na(x & y) #Or checking NA individually #x != y | is.na(x) | is.na(y) #[1] FALSE TRUE TRUE TRUE FALSE 然后,您可以很容易地将中的围绕此项进行包装,以获得数值向量 w

R 使用ggplot2绘制大范围热图

假设我有一个范围非常大的数据 data = c(1:5, 30:40, 58, 200:210, 400) 我试图用R软件包“RColorBrewer”来绘制它,但值1:5几乎是白色 我如何绘制一张漂亮的热图?就像从1:5开始逐渐从白色变为绿色,然后30:40开始从蓝色变为紫色。。。等等,但另一个问题是像58这样的单一值…正如评论中指出的,您想要的调色板似乎不太可能完全自动化。但是,手动创建定制调色板并不难 在下文中,为了方便起见,我使用内置函数colorRampPalette(包装在help

将R函数形式作为字符串从代码应用/映射到新函数体

我想获取一个用户的代码,并将reactive()调用转换成如下函数 if(grepl(“reactive\\(”,as.character(x))){中的一个警告:条件已更改 #>长度>1且仅使用第一个元素 #> [[1]] #>图书馆(闪亮) #> #> [[2]] #>输入 #> [[3]] #>df x mpg%>%过滤器(cty }) #> #> [[4]] #>n_obs这是受公司替换其()别名的方式启发而产生的 代码库(闪亮) #> #> [[2]] #>输入 #> [[3]]

R 仅在指定位置粘贴两个向量

我有两个向量: vec1 <- c("222", "AA-AA", "GGH-GGH", "GGGD") vec2 <- c("222", "AA-AA", "GGG-GGH", "GGGD") 我怎么把这个放在R里 我尝试了粘贴(vec1[positions],vec2[positions],sep=“-”),但没有得到预

R 侧边栏菜单未存储正确的值

我有shainyApp,它包含多个仪表板页面,其中每一个都有侧边栏菜单 我正在尝试获取已单击选项卡的名称 这是一个示例代码: ui<-navbarPage("", tabPanel("tab1", dashboardPage( dashboardHeader(), das

冬季&x27;s方法在R中的结果精度

我有以下数据 yt=c(3.234,3.656,3.895,5.348,7.751,8.494,7.270,5.210,4.218,4.259,4.209,4.946, 3.845, 4.433, 4.554, 6.161, 9.356, 9.516, 7.750, 5.474, 4.915, 4.687, 5.035, 5.766, 4.731, 5.267, 5.672, 7.479, 9.958, 10.852, 9.155, 6.673, 5.374, 5.191, 5.231, 6.0

R 获取作为函数参数传递的变量的名称

我试图以正确的方式捕获传递给函数的变量的名称。感兴趣的名称noi是数据帧列或向量。下面是我的最小工作示例。理想情况下,我希望接收一个只包含“noi” 库(dplyr) df%变异(示例_fun(noi)) noi示例_fun(noi) 1不适用 2 noi 3不适用 提前谢谢 也许在另一个函数中用“comment”属性修饰该变量?请注意,要修饰的变量必须直接包装到修饰函数z;否则,会产生错误(通过设计和鲁棒性) 。。。但这可能不是一种稳健的方法。以健壮的方式实现您想要的是极其困难的,尤其是当涉

更改R中列的格式

在我的表中有一个timestamp列,我想在其中更改格式。我已经试过多种方法,但都不起作用。我在整个专栏中也找不到改变格式的例子。首先我将列转换为POSIXct,然后我尝试调整格式: #timestamp as POSIXct and lane as numeric Flows_ALM_2019 %>% mutate(timestamp = as.POSIXct(timestamp),lane = as.numeric(lane)) -> Flows_ALM_2019 #remo

R 将所有逻辑规则与向量按相同顺序匹配

我有一个取两个向量的函数 逻辑规则向量pat 数据向量dat 该函数检查所有规则是否已执行且顺序正确 dat <- 1:100 pat <- c( "dat<4 & dat>2", "dat>6", "dat>99" ) yes.seq.rule <- function(pat , dat){ lv <- rep(F,length(pat)) k <- 1 fo

带有Rcpp的R Cran包构建在除Solaris之外的所有系统上

我正在编写一个提交给CRAN的R库,它可以在除Solaris以外的所有平台上编译。 多亏了这个网站,我才能够在那个系统上得到两种不同类型的错误(否则我就无法访问任何Solaris机器) 然而,我不知道我得到的错误。此外,两个编译器的行为完全不同: 使用“Oracle Solaris 10,x86,32位,R-release”选项,我的代码可以编译,但在运行时会出现“segfault”崩溃 使用选项:“Oracle Solaris 10,x86,32位,R-release,Oracle Deve

从R中的日期变量创建因子变量

第一次在这里问什么 我有一个数据集记录了受访者进行调查的开始日期。变量包括以下两个: Dataframe =structure(list(StartDate = c(13779297307, 13780588700, 13778275992, 13779183693, 13777765681, 13777812963, 13777739454, 13777734136, 13777851398

R:对矩阵进行排序,使高值​;沿着主对角线躺着

我在一个数据帧中有一个平方矩阵,需要交换行和列,这样高位值在主对角线上,向外变小。 我很难对它进行编码,因为我对编码还不熟悉 我得到了一个矩阵示例: input <- data.table( c( 4, 4, 3, 5, 2), c( 4, 2, 5, 3, 4), c( 3, 5, 2, 4, 1), c( 3, 1, 4, 2, 5), c( 5, 3, 4, 4, 3) ) output <- function(input) output #would

  1    2   3   4   5   6  ... 下一页 最后一页 共 3403 页