标签: subset

如何通过行名而不是​​数字索引删除矩阵的行?

我有矩阵g:

> g[1:5,1:5]
        rs7510853 rs10154488 rs12159982 rs2844887 rs2844888
NA06985 "CC"      "CC"       "CC"       "CC"      "CC"     
NA06991 "CC"      "CC"       "CC"       "CC"      "CC"     
NA06993 "CC"      "CC"       "CC"       "CC"      "CC"     
NA06994 "CC"      "CC"       "CC"       "CC"      "CC"     
NA07000 "CC"      "CC"       "CC"       "CC"      "CC"     
> rownames(g)[1:2]->remove
> remove
[1] "NA06985" "NA06991"
> g[-remove,]
Run Code Online (Sandbox Code Playgroud)

-remove中的错误:一元运算符的无效参数

有没有一种简单的方法可以做我想做的事情(从矩阵g中删除向量'remove'中引用的ID ?

注意:这只是我实际想要做的模型,请不要只是这样做g[-(1:2), ],我需要能够删除一堆我有ID-d的行.

r matrix subset rowname

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

来自dplyr的子集和过滤器之间的差异

在我看来,子集和过滤器(来自dplyr)具有相同的结果.但我的问题是:在某些方面存在潜在的差异,例如.速度,它可以处理的数据大小等?是否有时候使用其中一种更好?

例:

library(dplyr)

df1<-subset(airquality, Temp>80 & Month > 5)
df2<-filter(airquality, Temp>80 & Month > 5)

summary(df1$Ozone)
# Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
# 9.00   39.00   64.00   64.51   84.00  168.00      14 

summary(df2$Ozone)
# Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
# 9.00   39.00   64.00   64.51   84.00  168.00      14 
Run Code Online (Sandbox Code Playgroud)

r subset filter

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

查找集合的所有子集

我需要一个算法来查找集合中元素数量的所有子集n.

S={1,2,3,4...n}
Run Code Online (Sandbox Code Playgroud)

编辑:我无法理解到目前为止提供的答案.我想逐步说明答案如何找到子集.

例如,

S={1,2,3,4,5}
Run Code Online (Sandbox Code Playgroud)

你怎么知道{1}并且{1,2}是子集?

有人可以帮我用c ++中的一个简单函数来查找{1,2,3,4,5}的子集

c++ algorithm math subset

33
推荐指数
5
解决办法
11万
查看次数

找到阵列中所有可能的子集组合?

我需要获得一个数组的所有可能子集,其中包含最少2个项目和未知最大值.有人可以帮我一点吗?

说我有这个......

[1,2,3]
Run Code Online (Sandbox Code Playgroud)

......我怎么得到这个?

[
    [1,2]
    , [1,3]
    , [2,3]
    , [1,2,3]
]
Run Code Online (Sandbox Code Playgroud)

javascript arrays subset

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

SQL:如何选择最早的行

我的报告看起来像这样:

CompanyA      Workflow27     June5
CompanyA      Workflow27     June8
CompanyA      Workflow27     June12
CompanyB      Workflow13     Apr4
CompanyB      Workflow13     Apr9
CompanyB      Workflow20     Dec11
CompanyB      Wofkflow20     Dec17
Run Code Online (Sandbox Code Playgroud)

这是通过SQL(特别是T-SQL版本Server 2005)完成的:

SELECT company
   , workflow
   , date
FROM workflowTable
Run Code Online (Sandbox Code Playgroud)

我希望报告只显示每个工作流程的最早日期:

CompanyA      Workflow27     June5
CompanyB      Workflow13     Apr4
CompanyB      Workflow20     Dec11
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我无法弄清楚这一点.我尝试使用嵌套选择返回最早的托盘日期,然后在WHERE子句中设置它.如果只有一家公司,这很有用:

SELECT company
   , workflow
   , date
FROM workflowTable
WHERE date = (SELECT TOP 1 date
              FROM workflowTable
              ORDER BY date)
Run Code Online (Sandbox Code Playgroud)

但如果该表中有多个公司,这显然不起作用.任何帮助表示赞赏!

sql select date subset

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

删除高度相关的变量

我有一个巨大的数据帧5600 X 6592,我想删除被彼此相关的变量比0.99更我不知道该怎么做这很长的路,一步步也就是形成一个相关矩阵,取整数值,除去类似那些并使用索引来再次获得我的"减少"数据.

cor(mydata)
mydata <- round(mydata,2)
mydata <- mydata[,!duplicated (mydata)]
## then do the indexing...
Run Code Online (Sandbox Code Playgroud)

我想知道这是否可以在短命令或一些高级功能中完成.我正在学习如何使用R语言中的强大工具,这避免了这么长时间不必要的命令

我在想类似的东西

mydata <- mydata[, which(apply(mydata, 2, function(x) !duplicated(round(cor(x),2))))]
Run Code Online (Sandbox Code Playgroud)

对不起,我知道上面的命令不起作用,但我希望我能做到这一点.

适用于该问题的播放数据:

mydata <- structure(list(V1 = c(1L, 2L, 5L, 4L, 366L, 65L, 43L, 456L, 876L, 
78L, 687L, 378L, 378L, 34L, 53L, 43L), V2 = c(2L, 2L, 5L, 4L, 
366L, 65L, 43L, 456L, 876L, 78L, 687L, 378L, 378L, 34L, 53L, 
41L), V3 = c(10L, 20L, 10L, 20L, 10L, 20L, 1L, 0L, 1L, 2010L, 
20L, 10L, 10L, …
Run Code Online (Sandbox Code Playgroud)

r function subset correlation

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

使用grep帮助R中的数据框子集

我无法对数据进行子集化.我希望在x列上对数据进行子集化,其中前3个字符开始为G45.

我的数据框:

 x <- c("G448", "G459", "G479", "G406")  
 y <- c(1:4)
 My.Data <- data.frame (x,y)
Run Code Online (Sandbox Code Playgroud)

我试过了:

 subset (My.Data, x=="G45*")
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用通配符.我也尝试过grep()来查找指标:

 grep  ("G45*", My.Data$x)
Run Code Online (Sandbox Code Playgroud)

但它返回所有4行,而不仅仅是那些以G45开头的行,可能还因为我不确定如何使用通配符.

grep r subset dataframe

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

子集两个日期之间的数据帧

我正在处理自1993年以来巴西指数(IBOV)的每日回报,我试图找出两个日期之间的子集的最佳方法.

数据框(IBOV_RET)如下:

head(IBOV_RET)
        DATE    1D_RETURN
1 1993-04-28 -0.008163265
2 1993-04-29 -0.024691358
3 1993-04-30  0.016877637
4 1993-05-03  0.000000000
5 1993-05-04  0.033195021
6 1993-05-05 -0.012048193
...
Run Code Online (Sandbox Code Playgroud)

我设置了2个变量DATE1DATE2日期

DATE1 <- as.Date("2014-04-01")
DATE2 <- as.Date("2014-05-05")
Run Code Online (Sandbox Code Playgroud)

我能够使用以下代码创建一个新的子集:

TEST <- IBOV_RET[IBOV_RET$DATE >= DATE1 & IBOV_RET$DATE <= DATE2,]
Run Code Online (Sandbox Code Playgroud)

它工作,但我想知道是否有更好的方法来分配2日期之间的数据,也许使用subset.

r date subset

30
推荐指数
2
解决办法
6万
查看次数

按一列中的因子拆分/子集数据帧

我的数据是这样的(例如):

ID  Rate    State
1   24  AL
2   35  MN
3   46  FL
4   34  AL
5   78  MN
6   99  FL
Run Code Online (Sandbox Code Playgroud)

数据:

structure(list(ID = 1:6, Rate = c(24L, 35L, 46L, 34L, 78L, 99L),
               State = structure(c(1L, 3L, 2L, 1L, 3L, 2L),
                                 .Label = c("AL","FL", "MN"),
                                 class = "factor")),
          .Names = c("ID", "Rate", "State"),
          class = "data.frame", row.names = c(NA, -6L))
Run Code Online (Sandbox Code Playgroud)

我想按状态拆分数据,我想得到3个数据集,如下所示:

data set 1
ID  Rate    State
1   24  AL
4   34  AL
data set 2
ID  Rate    State …
Run Code Online (Sandbox Code Playgroud)

r subset

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

如何在JavaScript中查找集合的所有子集?

我需要获取数组的所有可能子集.

说我有这个:

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我怎么得到这个?

[], [1], [2], [1, 2], [2, 3], [1, 3], [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我对所有子集感兴趣.有关特定长度的子集,请参阅以下问题:

  • 大小为n的子集找到:1,2
  • 查找大小> 1:1的子集

javascript subset powerset

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

标签 统计

subset ×10

r ×6

date ×2

javascript ×2

algorithm ×1

arrays ×1

c++ ×1

correlation ×1

dataframe ×1

filter ×1

function ×1

grep ×1

math ×1

matrix ×1

powerset ×1

rowname ×1

select ×1

sql ×1