小编Rag*_*mvs的帖子

在 ggplotly 上添加第二个 Y 轴

我使用 plotly 和 ggplot 创建了以下数据框对象和图形

library(ggplot2)
library(plotly)

rdate <- function(x,
              min = paste0(format(Sys.Date(), '%Y'), '-01-01'),
              max = paste0(format(Sys.Date(), '%Y'), '-12-31'),
              sort = TRUE) {          
  dates <- sample(seq(as.Date(min), as.Date(max), by = "day"), x, replace=TRUE)
  if (sort == TRUE) {
    sort(dates)
  } else {
    dates
  }
}

DF<-data.frame(Date = rdate(100))
DF$variable<-LETTERS[seq( from = 1, to = 10 )]
DF$Value<-round(runif(1:nrow(DF),min = 10, max = 50))
Run Code Online (Sandbox Code Playgroud)

接下来我用 ggplot 创建了一个绘图对象

 p <- ggplot(DF, aes(x = Date, y = Value, colour = variable)) + 
  geom_line() + …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotly yaxis

9
推荐指数
1
解决办法
2400
查看次数

第二个 y 轴在 ggplotly 命令上消失,dynamick 刻度 =true,ggplot2

我在 R 中创建了以下数据框和关联的 ggplot 图表 首先我们使用 R 导入库

 library(plotly)
 library(ggplot2)
Run Code Online (Sandbox Code Playgroud)

接下来我们创建数据框如下

    dataframe_1<-data.frame("Month"=c(1:12))
    dataframe_1$Sales<-25*dataframe_1$Month
    dataframe_1$Fac1=dataframe_1$Sales/100
    dataframe_1$Month<-as.character(dataframe_1$Month)
Run Code Online (Sandbox Code Playgroud)

接下来我们创建一个基于 ggplot 的条形图和折线图,如下所示

   p<-ggplot(data = dataframe_1, mapping = aes(x = Month, y = Fac1))+geom_bar(data = dataframe_1, mapping = aes(x = Month, y = Sales/100, fill = "#82e600", text=paste0("Sales:", Sales)),stat="identity")+geom_line(mapping = aes(x = Month, y = Fac1, group = 1))+geom_point(mapping = aes(x = Month, y = Fac1, group = 1, text=paste0( "Factoid:", Fac1)),    inherit.aes = FALSE)+scale_y_continuous(sec.axis = sec_axis(~.*100, name = "Sales"))+labs(fill =  "Sales")
Run Code Online (Sandbox Code Playgroud)

当我们渲染图 p 时,我们得到一个带有两个 …

r ggplot2 ggplotly

5
推荐指数
1
解决办法
519
查看次数

根据一列中的零值删除 R Dataframe 行

我有这个数据框,沿着两列有一组零值。df

 Sl_No  No_of_Mails No_of_Responses
 1       10           2
 2        0           0
 3       20           0
 4       10          10
 5        0           0
 6        0          NA
 7       10          NA
 8       10           0
Run Code Online (Sandbox Code Playgroud)

我想在No_of_Mails不干扰另一列的情况下删除那些等于零的行。我试过下面的代码

row_sub = apply(df, 1, function(row) all(row !=0 ))
df[row_sub,]
Run Code Online (Sandbox Code Playgroud)

这将删除所有 0 值,包括number_of_responses列中的值。我希望那个专栏不受干扰 我也试过这个

 df[df$No_of_Mails][!(apply(df, 1, function(y) any(y == 0))),].
Run Code Online (Sandbox Code Playgroud)

这将删除所有行并给我一个零行的表。

r delete-row dataframe

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

在ID中用R子集替换NA中的999

我在R中创建了以下数据帧

    df<-data.frame("ID"=c("A", "A", "A", "B", "B", "B"),"II"=c(NA, NA, 
    NA,1,2,3),"JJ"=c(1,2,3, NA, NA, NA), 'KK'=c(1,2,NA, NA, 5,6))
Run Code Online (Sandbox Code Playgroud)

生成的数据帧如下

  ID II JJ KK
   A NA  1  1
   A NA  2  2
   A NA  3 NA
   B  1 NA NA
   B  2 NA  5
   B  3 NA  6
Run Code Online (Sandbox Code Playgroud)

我希望通过ID值对数据帧进行子集化,并将仅包含NA值的所有列替换为999.结果应如下所示

 ID  II  JJ KK
  A 999   1  1
  A 999   2  2
  A 999   3 NA
  B   1 999 NA
  B   2 999  5
  B   3 999  6
Run Code Online (Sandbox Code Playgroud)

我试过这段代码

   library(dplyr)
   df%>%
   group_by(ID)%>%
   select(II, JJ,KK)%>%
   mutate_if(df[, …
Run Code Online (Sandbox Code Playgroud)

r subset dplyr

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

gsub无法删除R中的空括号

我在 R 中有以下字符串

A<-"A (23) 56 hh()"
Run Code Online (Sandbox Code Playgroud)

我想得到以下输出

"A (23) 56 hh"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码

B<-gsub(pattern = "()", replacement = "", x = A)
Run Code Online (Sandbox Code Playgroud)

那没有产生预期的结果。我怎样才能完成同样的事情

regex r gsub

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

标签 统计

r ×5

ggplot2 ×2

dataframe ×1

delete-row ×1

dplyr ×1

ggplotly ×1

gsub ×1

plotly ×1

regex ×1

subset ×1

yaxis ×1