小编Tun*_*ung的帖子

如何在树形图中标记彩色条

我如何为树形图中添加的一些彩色条添加标签?

下面的代码将显示我为瞄准任务所做的两次尝试,即在彩色条的标签中将值1连接到红色并将值0连接到颜色白色.

# replacing the graphic window parameter so the color bars would fit
par( oma = c(0,1,1,1), mgp = c(1,0.5,0), mar = c(10,2,2,2) )

# load necessary packages
library( squash )
library( dendextend )

# "initializatin"
data("mtcars")
myDend <-  as.dendrogram(hclust(dist(mtcars))) 

# creating the numeric & color matrix used for
# (attempted) labels & colors bars, respectively
myStatus <- cbind(mtcars$vs,mtcars$am)
myColors <- matrix(c("mintcream","firebrick3")[1 + myStatus],ncol = 2)
myColors <- matrix(c("mintcream","firebrick3")[1 + cbind(mtcars$vs,mtcars$am)], …
Run Code Online (Sandbox Code Playgroud)

plot r dendrogram colorbar dendextend

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

将两个散点图与不同的数据点组合在一起

我有一个要求,我想在同一个绘图区域中组合两个不同的散点图.一个散点图是度量1,另一个散点图是度量2.它在R中是否可行?我添加了数据集以及代码.但不确定如何在同一个情节中合并这两个.

df1 <- data.frame(Product = c("A","B","C"),
                  ProductMetric =  c("85","90","92"),
                  CategoryMetric = c("83"),
                  Category = c("AAA"))
df1
ggplot(data=df1, mapping= aes(x=Category,y= ProductMetric))+ geom_point(size=5)+
  ggplot(data=df1, mapping= aes(x=Category,y= CategoryMetric))+ geom_point(size=5)
Run Code Online (Sandbox Code Playgroud)

所以基本上在综合结果之后,同一个图表中应该有4个圆圈,基本上我想在同一个图表中显示产品平均值和类别平均值,以便最终用户可以通过观察将产品平均值与avg类别进行比较图表.

此致,阿卡什

r ggplot2

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

如何计算R quosure中的变量数?

假设我有一个函数,它使用非标准评估(NSE)从该数据框中获取数据框和不同数量的变量.是否有更快/更直接的方法来计算提供的变量数量而不是select()这些变量并计算列数?

# Works but seems non-ideal
nvar <- function(df, vars) {
  vars_en <- rlang::enquo(vars)
  df_sub <- dplyr::select(df, !!vars_en)
  ncol(df_sub)
}
nvar(mtcars, mpg:hp)
#> 4
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse tidyeval rlang

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

如何更改ggplot中的一个特定方面

我在facet_grid()的帮助下创建了在ggplot中显示不同分数(0 - 100%)的饼图.然而,最后得分是结合其他得分的总得分,并且为了将其与其他得分更好地区分,我想更改该特定方面的参数.理想情况下,我想使facet-label变为粗体并将facet移动远离其他facet,但我不知道如何更改仅一个特定facet的参数.

library(ggplot2)
df <- data.frame(label = c("A", "B", "Total"), score = c(60, 70, 65))

ggplot(df, aes(x = "", y = score)) + 
geom_bar(width = 1, stat = "identity") + 
coord_polar("y", start=0) + scale_y_continuous(limits = c(0, 100)) + 
facet_grid(. ~ label)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r facet ggplot2 gtable

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

如何使用R代码编写Rmd文件以生成word文档

我创建了一个Rmd文件,我知道如果我去工具栏并选择"knit to word",它将生成一个word文档.

我的问题是如何使用R代码执行此操作而无需实际单击顶部工具栏上的"编织到单词"选项?

我有这个代码,但它创建的word文档不起作用

library(knitr)
knit("AutomationPricingReport.Rmd", "AutomationPricingReport.docx")
Run Code Online (Sandbox Code Playgroud)

r rstudio knitr r-markdown

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

读取带有/不带空格和数字的文本混合的不规则格式文本文件

示例数据看起来像这样(我有数百个像这样的文件).棘手的部分是文件中的"NO RECORD".我没有花太多时间把它变成R而没有任何成功

BEGIN DATA
RIM
DATE           AF         QD         QU 
09/30/1920      NO RECORD       370.00  NO RECORD   
10/01/1920      NO RECORD       391.00     391.00 
10/02/1920      NO RECORD       496.00    MISSING 
10/03/1920      NO RECORD       660.00    MISSING 
10/04/1920      NO RECORD       881.00    MISSING 
10/05/1920      NO RECORD       660.00    MISSING 
10/06/1920      NO RECORD       515.00    -9999 
10/07/1920      NO RECORD       443.00    NO RECORD 
10/08/1920      NO RECORD       443.00    MISSING 
10/09/1920      NO RECORD       443.00    443.00 
10/10/1920      NO RECORD       443.00    MISSING
Run Code Online (Sandbox Code Playgroud)

这是我最新的R代码

library(zoo)

# function to read data
obsRead <- function(path2file, filename, number_line_skip, header_or_not) { …
Run Code Online (Sandbox Code Playgroud)

r time-series zoo read.table na

3
推荐指数
2
解决办法
1645
查看次数

生成季节性图,但包含财政年度开始/结束日期

你好!有没有办法对图表进行索引以在特定点开始和结束(可能不符合数字顺序)?

我有从 10 月 1 日开始到次年 9 月 31 日结束的数据。该系列在过去的几年中重复出现,我想建立一个每日季节性图表。挑战在于X轴不是从低到高,它是10-11-12-1-2-3-4-5-6-7-8-9。

问题一:

您可以按月份 10-11-12-1-2-3-4-5-6-7-8-9 订购索引吗?同时,与 %m-%d 格式兼容,因为真正的问题是每日格式,但为了简洁起见,我只使用了几个月。

在此输入图像描述

结果应该是这样的...抱歉我不得不使用 Excel...

问题2:

我们可以删除连接的图表线吗?或者问题 1 的解决方案会自然地解决问题 2 吗?下面尝试中的示例。

问题3:

解决方案的最终格式是否允许采用移动平均值或初始数据的其他突变?尝试 #2 中的表将允许按年取每月的平均值。由于 7 月 17 日是 6,7 月 18 日是 12,因此我们将在图表中绘制 9 等整个图。

问题4:

有没有和XTS等价的解决这个问题的?

谢谢你,谢谢你,谢谢你!

library(ggplot2)
library(plotly)
library(tidyr)
library(reshape2)

Date <- seq(as.Date("2016-10-1"), as.Date("2018-09-01"), by="month")
values <- c(2,3,4,3,4,5,6,4,5,6,7,8,9,10,8,9,10,11,12,13,11,12,13,14)
YearEnd <-c(2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
        2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018)
df <- data.frame(Date,values,YearEnd)

## PLOT THE TIMESERIES
plot_ly(df, x = ~Date, y = ~values, type = "scatter", mode = "lines")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

## PLOT THE …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotly ggplotly

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

用准引号将参数列表传递给函数

我试图用R编写一个函数,该函数根据分组变量汇总数据帧。分组变量作为列表给出并传递给group_by_at,我想对其进行参数化。

我现在正在做的是这样的:

library(tidyverse)

d = tribble(
  ~foo, ~bar, ~baz,
  1, 2, 3,
  1, 3, 5
  4, 5, 6,
  4, 5, 1
)

sum_fun <- function(df, group_vars, sum_var) {
  sum_var = enquo(sum_var)
  return(
    df %>% 
      group_by_at(.vars = group_vars) %>% 
      summarize(sum(!! sum_var))
  )
}

d %>% sum_fun(group_vars = c("foo", "bar"), baz)
Run Code Online (Sandbox Code Playgroud)

但是,我想这样调用该函数:

d %>% sum_fun(group_vars = c(foo, bar), baz)
Run Code Online (Sandbox Code Playgroud)

这意味着不应在调用中评估分组变量,而应在函数中评估分组变量。我将如何重写该功能以启用该功能?

我试过enquo像summary变量一样使用,然后替换group_vars!! group_vars,但这会导致此错误:

Error in !group_vars : invalid argument type
Run Code Online (Sandbox Code Playgroud)

使用group_by(!!!group_vars)收益:

Column `c(foo, …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyeval

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

R:将列表转换为data.frame

mylist <- list(NULL, structure(list(Gender = structure(1L, .Label = "Female", class = "factor"), 
  ID = structure(1L, .Label = "1", class = "factor"), Class = structure(1L, .Label = "A", class = "factor"), 
  Score1 = 21.6, Score2 = 39.61, Score3 = 8.85, 
  Score4 = 13.66, Score5 = 2.64999999999999, Score6 = 6.94736842105265), .Names = c("Gender", 
  "ID", "Class", "Score1", "Score2", "Score3", 
  "Score4", "Score5", "Score6"), row.names = c(NA, -1L
  ), class = "data.frame"), list(structure(list(Gender = structure(1:2, .Label = c("Female", 
  "Male"), class = "factor"), ID = structure(c(1L, …
Run Code Online (Sandbox Code Playgroud)

r list dataframe

2
推荐指数
1
解决办法
1171
查看次数

mutate_impl(.data,dots)评估错误:找不到对象

我有一些工作代码.我不得不更新R(并再次安装所有软件包),当我尝试再次运行代码时,碰壁.这是一个玩具示例:

工作代码

# get cyl column
mtcars %>% dplyr::select(cyl)
# add 1 to all numeric
mtcars %>% dplyr::mutate_if(is.numeric, ~.+1)
Run Code Online (Sandbox Code Playgroud)

WALL
但是当我尝试将列的所有数字列分开时,我cyl不能.

mtcars %>% mutate_if(is.numeric, ~./cyl)
Error in mutate_impl(.data, dots) : 
  Evaluation error: object 'cyl' not found.
Run Code Online (Sandbox Code Playgroud)

顺便说一下......这很有效

mtcars %>% mutate_if(is.numeric, ~./mtcars$cyl)
Run Code Online (Sandbox Code Playgroud)

由于某种原因mutate_if没有找到专栏(尽管如此select). map_ifpurrr包具有相同的行为.

r dplyr purrr

2
推荐指数
1
解决办法
1655
查看次数