小编Bra*_*ani的帖子

为掷骰子生成所有可能结果的矩阵(忽略顺序)

在订单确实重要的情况下,生成所有可能结果的矩阵相当容易.这样做的一个方法是使用expand.grid如图所示这里.

如果没有怎么办?

如果我是对的,可能的组合的数量是(S+N-1)!/S!(N-1)!,其中S是骰子的数量,每个都具有编号为1到N的N个边.(它与众所周知的组合公式不同,因为可能出现相同的数字在不止一个骰子上).例如,当投掷四个六面骰子时,N = 6且S = 4,所以可能组合的数量是(4 + 6-1)!/ 4!(6-1)!= 9!/ 4!x5!= 126.如何生成这126种可能结果的矩阵?

谢谢.

algorithm combinations r probability dice

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

dplyr过滤器中的标量比较

在下面的可重现示例中,我想过滤df中的行,其中变量的表达式给出了特定的结果.第1行和第3行符合要求,应退回.但是我的第一次尝试不正确,因为我用来==比较标量.

df <- data.frame(matrix(c(1,8,3,7,4,5,6,2,9,1,2,3,4,5,6,7,8,9,9,6,4,3,5,8,1,7,2),ncol=9,byrow=T))

df %>%
    filter(X1+13*X2/X3+X4+12*X5-X6-11+X7*X8/X9-10==66)

  X1 X2 X3 X4 X5 X6 X7 X8 X9
1  9  6  4  3  5  8  1  7  2
Run Code Online (Sandbox Code Playgroud)

我试图使用isTRUE(all.equal(...))方法纠正我的错误,但令我惊讶的是我根本没有得到任何结果.

df %>%
    filter(isTRUE(all.equal(X1+13*X2/X3+X4+12*X5-X6-11+X7*X8/X9-10,66))) 

[1] X1 X2 X3 X4 X5 X6 X7 X8 X9
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)

我该如何进行这种比较?

r dplyr

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

帮助对数据帧进行子集化

我使用%in%进行子集化,我遇到了一个奇怪的结果.

> my.data[my.data$V3 %in% seq(200,210,.01),]
        V1     V2        V3         V4       V5      V6         V7
56     470   48.7    209.73        yes     26.3      54        470
Run Code Online (Sandbox Code Playgroud)

那是对的.但是当我扩大范围时......第56行就消失了

> my.data[my.data$V3 %in% seq(150,210,.01),]
        V1     V2        V3         V4       V5      V6         V7
51     458   48.7    156.19        yes     28.2      58        458
67     511   30.5    150.54        yes     26.1      86        511
73     535   40.6    178.76        yes     29.5      73        535
Run Code Online (Sandbox Code Playgroud)

你能告诉我什么是错的吗?有没有更好的方法来对数据帧进行子集化?

这是它的结构

> str(my.data)
'data.frame':   91 obs. of  7 variables:
 $ V1: Factor w/ 91 levels "100","10004",..: 1 2 3 4 5 6 7 …
Run Code Online (Sandbox Code Playgroud)

r subset dataframe

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

R在上网本中 - 使用R的系统要求

我知道这不是一个编程问题,但我急于选择这样的上网本,而且我无法找到R安装的最低系统要求(例如最小RAM).我对一台小型上网本感兴趣,以便能够在课堂上使用它.有没有人在上网本中使用R来推荐这种用途?

r

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

在"with"内部"情节"之后"abline"不起作用

我想创建一个散点图并绘制数据集子集的回归线.为了给出一个可重复的例子,我将使用CO2数据集.

我尝试了这个,但回归线由于某种原因没有出现

with(subset(CO2,Type=="Quebec"),plot(conc,uptake),abline(lm(uptake~conc)))
Run Code Online (Sandbox Code Playgroud)

给这样一个命令的正确方法是什么?我可以用一个班轮做吗?

plot r

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

dplyr:根据聚合函数结果过滤行

我有一个表格列表(金额,年和月),我想过滤与完整年份相对应的行.即我想省略下面给出的示例数据帧的最后4行,参考2015,并获得其余的60.是否可以使用单个dplyr命令执行此操作?

我试过这个:

df %>%
    group_by(year) %>%
    tally() %>%
    filter (n==12) %>%
    ungroup() 
Run Code Online (Sandbox Code Playgroud)

但我想ungroup会做出与我想要的不同的事情.是否可以使用单个dplyr命令执行此操作?

df <- structure(list(amount = c(16365, 31850, 32230, 34177.75, 27900, 
29650, 28846, 27300, 37115.31, 34130.38, 39676.1, 47244.44, 3500, 
25425.48, 22628.43, 30822.86, 30100, 41567.13, 25400, 23125, 
40073.75, 16505.82, 17770, 38406.03, 1528.25, 23475.77, 29869.69, 
17020, 19270, 13085.47, 10607.48, 7800, 15220, 15260, 17580, 
25094.66, 3908.74, 8150, 25055.89, 19690.65, 12445.4, 10347.39, 
7645.39, 49300, 8690, 13660, 16510, 34457.08, 522.68, 10202, 
18900, 25027.1, 24956.42, 23259, 32743, 37226, 32697, 32258, 
31336.67, 36135.81, 4389.26, 12450, 46220.43, …
Run Code Online (Sandbox Code Playgroud)

r filter aggregate-functions dplyr

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

使用purrr应用累积函数

对于x的每个位置,我想计算多少个数> 5.这是我的代码,使用for循环:

x<-c(2,8,4,9,10,6,7,3,1,5)

y <- vector()
for (i in seq_along(x)) {
  x1 <- x[1:i]
  y <- c(y, length(x1[x1>5]))
}
> y
 [1] 0 1 1 2 3 4 5 5 5 5
Run Code Online (Sandbox Code Playgroud)

你能帮我用purrr做吗?可以在这里使用purrr :: reduce吗?

r purrr

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

使用ggplot创建一个条形图

你能帮我用ggplot2包和mat矩阵中的数据创建下面的条形图吗?

mat <- matrix(c(70.93,78.58,78.72,69.24,62.53,43.85,83.49,70.00,78.30,78.11,71.16,63.82,47.37,89.87),ncol=2)
colnames(mat) <- c("Crude","Standardized")
rownames(mat) <- 2006:2012

library(gplots)
library(RColorBrewer)
my_palette <- palette(brewer.pal(7,"Set1"))

barplot2(mat,
main="Crude and Standardized Rates",
xlab="Type", ylab="Rate", xlim=c(0,20), ylim=c(40,100),
col=my_palette, beside=TRUE, plot.grid = TRUE, xpd=FALSE)
legend(locator(1), rownames(mat), title ="Year",fill=my_palette)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

plot r ggplot2

-1
推荐指数
1
解决办法
3005
查看次数