小编Lat*_*row的帖子

在r中向量和矩阵之间的行方式比较

我有10个人的两个数据集.一个是矢量,另一个是矩阵.我想看到的是,向量的第一个元素是否包含在矩阵的第一行中,以及向量的第二个元素是否包含在矩阵的第二行中,依此类推.

所以,我将矢量更改为矩阵并用于apply逐行比较它们.但是,结果并不正确.

这是数据集.

df1<-matrix(c(rep(0,10),2,4,7,6,5,7,4,2,2,2),ncol=2)
df1
#      [,1] [,2]
# [1,]    0    2
# [2,]    0    4
# [3,]    0    7
# [4,]    0    6
# [5,]    0    5
# [6,]    0    7
# [7,]    0    4
# [8,]    0    2
# [9,]    0    2
#[10,]    0    2

df2<-c(1,3,6,4,1,3,3,2,2,5)
df2<-as.matrix(df2)
apply(df2, 1, function(x) any(x==df1))
# [1] FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
Run Code Online (Sandbox Code Playgroud)

但是,结果必须是FALSE除了第8和第9之外的所有结果.谁能纠正这个功能?谢谢!

r date-comparison

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

删除矩阵中的行

我有一个矩阵,看起来像这样:

have=rbind(matrix(c(1,1,1,1,2,2,2,2,3,3,3,3),ncol=3),c(5,5,5),c(5,5,5),c(5,5,5),c(1,1,1),c(1,1,1))

      [,1] [,2] [,3]
 [1,]    1    2    3
 [2,]    1    2    3
 [3,]    1    2    3
 [4,]    1    2    3
 [5,]    5    5    5
 [6,]    5    5    5
 [7,]    5    5    5
 [8,]    1    1    1
 [9,]    1    1    1
Run Code Online (Sandbox Code Playgroud)

我想删除行,如果他们只出现1或2次.理想情况下,我希望它是用户特定的,因此如果该行仅出现N次或更少,则应删除它.所以,如果N = 2那么它应该删除最后两行,因为它们只出现两次:

want=rbind(matrix(c(1,1,1,1,2,2,2,2,3,3,3,3),ncol=3),c(5,5,5),c(5,5,5),c(5,5,5))

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    2    3
[3,]    1    2    3
[4,]    1    2    3
[5,]    5    5    5
[6,]    5    5    5
[7,]    5    5    5
Run Code Online (Sandbox Code Playgroud)

另一方面,如果N = 3,那么它应该返回:

want_2=rbind(matrix(c(1,1,1,1,2,2,2,2,3,3,3,3),ncol=3)) …
Run Code Online (Sandbox Code Playgroud)

r matrix

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

networkD3::sankeyNetwork 中的 R-Customized tooltip

我们已经创建了 sankey 图来通过networkD3::sankeyNetwork()R显示不同城市之间的流量。我们已经收到客户要求在 sankey 节点的工具提示/悬停上显示与城市对应的“状态”名称。

在以下代码中,我们希望在节点的工具提示(悬停)上显示状态值

library(shiny)
library(networkD3)
library(shinydashboard)
value <-  c(12,21,41,12,81)
source <- c(4,1,5,2,1)
target <- c(0,0,1,3,3)

edges2 <- data.frame(cbind(value,source,target))

names(edges2) <- c("value","source","target")
indx  <- c(0,1,2,3,4,5)
ID    <- c('CITY1','CITY2','CITY3','CITY4','CITY5','CITY6')
State <- c( 'IL','CA','FL','NW','GL','TX')
nodes <-data.frame(cbind(ID,indx,State))

ui <- dashboardPage(
  dashboardHeader(
  ),
  dashboardSidebar(disable = TRUE),
  dashboardBody(
    fluidPage(
      sankeyNetworkOutput("simple")
    )
  )
)

server <- function(input, output,session) {
  
  
  output$simple <- renderSankeyNetwork({
    sankeyNetwork(Links = edges2, Nodes = nodes,
                  Source = "source", Target = "target",
                  Value = "value",  NodeID = "ID" 
                  ,units = …
Run Code Online (Sandbox Code Playgroud)

javascript r shiny sankey-diagram networkd3

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

更改 geom_smooth 中的线边框颜色

如何改变 中线条边框的颜色geom_smooth()

library(ggplot2)
mtcars$cyl <- as.factor(mtcars$cyl)

ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

它应该看起来像这样:

在此输入图像描述

感谢您的时间!

plot r data-visualization ggplot2

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

Rqc 包错误:“找不到 GhostScript”

我正在关注Rqc 包文档,所以我输入了以下内容:

library(Rqc)
folder <- system.file(package = "ShortRead", "extdata/E-MTAB-1147")
rqc(path = folder, pattern = ".fastq.gz")
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

位图错误(文件 = 文件名,宽度 = 宽度,高度 = 高度,res = 300):找不到 GhostScript

r ghostscript

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

按因子数量级别对R数据帧进行排序

我有三个巨大的数据框:

   Surgeon Length  Surg. Date
    John    75   2015-07-06
    Max     120  2015-06-22
    Max     190  2015-01-26
    David   40   2015-11-04
    David   25   2015-04-21
    David   50   2015-12-11
    Andrey  210  2015-03-15
    Vincent 180  2015-01-30
    Vincent 180  2015-06-10
Run Code Online (Sandbox Code Playgroud)

我想根据外科医生做了多少手术来分类.如果两位外科医生做了相同数量的手术,那么手术日期应决定等级.输出应如下所示:

   Surgeon Length  Surg. Date
    Andrey  210  2015-03-15
    John    75   2015-07-06
    Max     190  2015-01-26
    Max     120  2015-06-22
    Vincent 180  2015-01-30
    Vincent 180  2015-06-10
    David   25   2015-04-21
    David   40   2015-11-04
    David   50   2015-12-11
Run Code Online (Sandbox Code Playgroud)

安德烈和约翰的名字出现在桌子上,所以他们先来,但是安德鲁有一个更早的约会,因此他是表中的第一个.然后来到马克斯和文森特,两人都进行了2次手术.然后大卫3.

是否有捷径可寻?

sorting r dataframe data.table

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