我有矩阵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的行.
在我看来,子集和过滤器(来自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) 我需要一个算法来查找集合中元素数量的所有子集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}的子集
我需要获得一个数组的所有可能子集,其中包含最少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) 我的报告看起来像这样:
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)
但如果该表中有多个公司,这显然不起作用.任何帮助表示赞赏!
我有一个巨大的数据帧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) 我无法对数据进行子集化.我希望在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开头的行,可能还因为我不确定如何使用通配符.
我正在处理自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个变量DATE1和DATE2日期
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.
我的数据是这样的(例如):
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) 我需要获取数组的所有可能子集.
说我有这个:
[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)
我对所有子集感兴趣.有关特定长度的子集,请参阅以下问题: