精华内容
下载资源
问答
  • (之后我们不触摸零) 这些统计数据必须在一类操作之前按14个零计算 然后我必须找到上面计算出的90%以上的值,然后这些值必须按计算的中值重复 . 在一类操作之后,再次为返回列返回零类别 . 对于它我也必须找到上面...

    这里是部分数据 .

    mydat=structure(list(code = c(123L, 123L, 123L, 123L, 123L, 123L, 123L,

    123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L,

    123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L,

    123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L, 123L,

    123L, 123L, 123L, 123L, 123L, 123L, 123L, 222L, 222L, 222L, 222L,

    222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L,

    222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L,

    222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L,

    222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L, 222L),

    item = c(234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L,

    234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L,

    234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L,

    234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L,

    234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 234L, 333L,

    333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L,

    333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L,

    333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L,

    333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L, 333L,

    333L, 333L, 333L, 333L, 333L, 333L), return = c(25L, 25L,

    21L, 37L, 23L, 27L, 19L, 7L, 16L, 12L, 33L, 24L, 6L, 14L,

    4L, 25L, 90L, 27L, 3L, 16L, 7L, 1L, 13L, 11L, 36L, 5L, 6L,

    14L, 11L, 41L, 11L, 6L, 4L, 11L, 3L, 6L, 21L, 41L, 28L, 30L,

    92L, 4L, 1L, 83L, 3L, 16L, 4L, 25L, 25L, 21L, 37L, 23L, 27L,

    19L, 7L, 16L, 12L, 33L, 24L, 6L, 14L, 4L, 25L, 90L, 27L,

    3L, 16L, 7L, 1L, 13L, 11L, 36L, 5L, 6L, 14L, 11L, 41L, 11L,

    6L, 4L, 11L, 3L, 6L, 21L, 41L, 28L, 30L, 92L, 4L, 1L, 83L,

    3L, 16L, 4L), action = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,

    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,

    0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L,

    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,

    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,

    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 0L,

    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c("code",

    "item", "return", "action"), class = "data.frame", row.names = c(NA,

    -94L))

    我有2组vars代码项 . 这里有两组:

    123 234

    222 333

    我也有行动专栏 . 它只能有两个值(类别)零(0)或一(1) .

    我需要通过返回列的零操作类别来计算 90 percentile ,它在一个操作类别之前 . 然后我需要计算 median 按返回列的零操作类别,它在一个操作类别之前 . (之后我们不触摸零)

    这些统计数据必须在一类操作之前按14个零计算

    然后我必须找到上面计算出的90%以上的值,然后这些值必须按计算的中值重复 .

    在一类操作之后,再次为返回列返回零类别 . 对于它我也必须找到上面计算的90%以上的值,那么这个值必须用上面计算的中值(当计算14个零时)代替 .

    注意 calculation 在一个操作类别之前由14个零完成,但是 replacing 按中位数完成所有 zero category 操作并为每个组执行 code+item

    结果可以在输出列中 .

    在这里更清楚所需的输出 .

    对于 123+234 组,90 perc = 39,5 median = 12

    对于 222+333 ,90 perc = 39,5 median = 12

    code item return action output

    1 123 234 25 0 25

    2 123 234 25 0 25

    3 123 234 21 0 21

    4 123 234 37 0 16

    5 123 234 23 0 23

    6 123 234 27 0 27

    7 123 234 19 0 19

    8 123 234 7 0 7

    9 123 234 16 0 16

    10 123 234 12 0 12

    11 123 234 33 0 33

    12 123 234 24 0 24

    13 123 234 6 0 6

    14 123 234 14 0 14

    15 123 234 4 0 4

    16 123 234 25 0 25

    17 123 234 90 0 **12**

    18 123 234 27 0 27

    19 123 234 3 0 3

    20 123 234 16 0 16

    21 123 234 7 0 7

    22 123 234 1 0 1

    23 123 234 13 0 13

    24 123 234 11 0 11

    25 123 234 36 0 36

    26 123 234 5 0 5

    27 123 234 6 0 6

    28 123 234 14 0 14

    29 123 234 11 0 11

    30 123 234 41 0 16

    31 123 234 11 1 Na

    32 123 234 6 1 Na

    33 123 234 4 1 Na

    34 123 234 11 1 Na

    35 123 234 3 0 3

    36 123 234 6 0 6

    37 123 234 21 0 21

    38 123 234 41 0 **12**

    39 123 234 28 0 28

    40 123 234 30 0 30

    41 123 234 92 0 **12**

    42 123 234 4 0 4

    43 123 234 1 0 1

    44 123 234 83 0 **12**

    45 123 234 3 0 3

    46 123 234 16 0 16

    47 123 234 4 0 4

    48 222 333 25 0 25

    49 222 333 25 0 25

    50 222 333 21 0 21

    51 222 333 37 0 16

    52 222 333 23 0 23

    53 222 333 27 0 27

    54 222 333 19 0 19

    55 222 333 7 0 7

    56 222 333 16 0 16

    57 222 333 12 0 12

    58 222 333 33 0 33

    59 222 333 24 0 24

    60 222 333 6 0 6

    61 222 333 14 0 14

    62 222 333 4 0 4

    63 222 333 25 0 25

    64 222 333 90 0 **12**

    65 222 333 27 0 27

    66 222 333 3 0 3

    67 222 333 16 0 16

    68 222 333 7 0 7

    69 222 333 1 0 1

    70 222 333 13 0 13

    71 222 333 11 0 11

    72 222 333 36 0 36

    73 222 333 5 0 5

    74 222 333 6 0 6

    75 222 333 14 0 14

    76 222 333 11 0 11

    77 222 333 41 0 16

    78 222 333 11 1 Na

    79 222 333 6 1 Na

    80 222 333 4 1 Na

    81 222 333 11 1 Na

    82 222 333 3 0 3

    83 222 333 6 0 6

    84 222 333 21 0 21

    85 222 333 41 0 **12**

    86 222 333 28 0 28

    87 222 333 30 0 30

    88 222 333 92 0 **12**

    89 222 333 4 0 4

    90 222 333 1 0 1

    91 222 333 83 0 **12**

    92 222 333 3 0 3

    93 222 333 16 0 16

    94 222 333 4 0 4

    **我标记的行,其中值由中位数重复 .

    展开全文
  • 请原谅我的数学,但为什么这两个代码的结果不同?预计2015年第63和82行累计百分比的支出与第二年产生的支出相同。第一个是X63的0.591,X82的0.858,第二个代码在cumsum_pct中分别显示0.792和0.966。...

    请原谅我的数学,但为什么这两个代码的结果不同?预计2015年第63和82行累计百分比的支出与第二年产生的支出相同。第一个是X63的0.591,X82的0.858,第二个代码在cumsum_pct中分别显示0.792和0.966。谢谢

    set.seed(1)

    library('dplyr')

    Claims6

    Claims6 %>%

    group_by(year) %>%

    do(data.frame(t(quantile(.$Expense, probs = c(0.10, 0.30, 0.63, 0.82)))))

    # A tibble: 2 x 5

    # Groups: year [2]

    # year X10. X30. X63. X82.

    #

    # 1 2015 0.0488 0.439 0.591 0.858

    # 2 2016 0.101 0.262 0.592 0.805

    Claims6 %>% group_by(year) %>%

    arrange(year,Expense) %>%

    mutate(pct = round(Expense / sum(Expense),2),

    cumsum_pct = round(cumsum(Expense) / sum(Expense),2))

    # A tibble: 20 x 4

    # Groups: year [2]

    # year Expense pct cumsum_pct

    #

    # 1 2015 0.0332 0.01 0.01

    # 2 2015 0.0505 0.01 0.02

    # 3 2015 0.384 0.07 0.09

    # 4 2015 0.463 0.09 0.18

    # 5 2015 0.467 0.09 0.26

    # 6 2015 0.538 0.1 0.37

    # 7 2015 0.617 0.12 0.48

    # 8 2015 0.792 0.15 0.63

    # 9 2015 0.966 0.18 0.82

    # 10 2015 0.972 0.18 1

    # 11 2016 0.0622 0.01 0.01

    # 12 2016 0.106 0.02 0.03

    # 13 2016 0.178 0.04 0.07

    # 14 2016 0.298 0.06 0.13

    # 15 2016 0.445 0.09 0.23

    # 16 2016 0.591 0.12 0.35

    # 17 2016 0.592 0.12 0.47

    # 18 2016 0.765 0.16 0.63

    # 19 2016 0.872 0.18 0.81

    # 20 2016 0.904 0.19 1

    展开全文
  • R has at least 9 definitions of quantiles and percentilesare justquantile(.) * 100. This link suggests that the corresponding quantile-type would be type=4. I was unable to find a percentile or quanti...

    R has at least 9 definitions of quantiles and percentiles

    are just

    quantile(.) * 100. This link suggests that the corresponding quantile-type would be type=4. I was unable to find a percentile or quantile function documented in the Base Stata Manual, but I would welcome correction if that is in error.

    Nick Cox is right. The quantile (the value in the data domain) at probability of 0.25 is the 25th percentile. The question appears unclear on both sides of the R-Stata divide because the original efforts in R were being done with the ecdf function in an unspecified manner. Fortunately the poster was satisfied by being pointed toward the R quantile function.

    After looking at the Version 13 Stata Manual section on centile, I'm not sure it matches up with any of the R quantile methods although it would appear to match the type=4 method for percentiles away from the "extremes":

    By default, centile estimates Cq for the variables in varlist and for the values of q given in centile(numlist). It makes no assumptions about the distribution of X, and, if necessary, uses linear interpolation between neighboring sample values. Extreme centiles (for example, the 99th centile in samples smaller than 100) are fixed at the minimum or maximum sample value

    展开全文
  • 目录:求极差(range)做频数分布表和频数分布图(graph of frequency distribution)算术平均数(mean)几何均数(geometric mean)中位数与百分位数(median and percentile)四分位间距(quartile range)方差(variance)标准...

    目录:求极差(range)

    做频数分布表和频数分布图(graph of frequency distribution)

    算术平均数(mean)

    几何均数(geometric mean)

    中位数与百分位数(median and percentile)

    四分位间距(quartile range)

    方差(variance)

    标准差(standard deviation)

    变异系数(coefficient of variance)

    正态分布(normal distribution)

    标准正态分布(standard normal distribution)

    使用R语言的内建实例数据框:faithful

    head(faithful)

    ## eruptions waiting

    ## 1 3.600 79

    ## 2 1.800 54

    ## 3 3.333 74

    ## 4 2.283 62

    ## 5 4.533 85

    ## 6 2.883 55

    第一列eruptions代表火山喷发的持续时间,第二列代表距离下一次喷发的间隔时间

    1. 计算极差(range)

    duration

    max(duration)-min(duration) # apply the max and min functions

    ## [1] 3.5

    range(duration)

    ## [1] 1.6 5.1

    2. 频数分布

    duration = faithful$eruptions

    breaks = seq(1.5, 5.2, length.out = 12)

    duration.cut = cut(duration, breaks, right=FALSE)

    right属性默认为TRUE,表示每个组段为右闭左开的一个区间

    duration.cut为一个factor变量

    duration.freq = table(duration.cut)

    duration.freq

    ## duration.cut

    ## [1.5,1.84) [1.84,2.17) [2.17,2.51) [2.51,2.85) [2.85,3.18) [3.18,3.52)

    ## 26 44 22 3 3 8

    ## [3.52,3.85) [3.85,4.19) [4.19,4.53) [4.53,4.86) [4.86,5.2)

    ## 20 39 51 46 10

    cbind(duration.freq)

    ## duration.freq

    ## [1.5,1.84) 26

    ## [1.84,2.17) 44

    ## [2.17,2.51) 22

    ## [2.51,2.85) 3

    ## [2.85,3.18) 3

    ## [3.18,3.52) 8

    ## [3.52,3.85) 20

    ## [3.85,4.19) 39

    ## [4.19,4.53) 51

    ## [4.53,4.86) 46

    ## [4.86,5.2) 10

    计算频率

    duration.relfreq = duration.freq / nrow(faithful)

    展示为列的形式

    cbind(duration.freq)

    ## duration.freq

    ## [1.5,1.84) 26

    ## [1.84,2.17) 44

    ## [2.17,2.51) 22

    ## [2.51,2.85) 3

    ## [2.85,3.18) 3

    ## [3.18,3.52) 8

    ## [3.52,3.85) 20

    ## [3.85,4.19) 39

    ## [4.19,4.53) 51

    ## [4.53,4.86) 46

    ## [4.86,5.2) 10

    hist(duration, right=FALSE,

    breaks = breaks, labels =TRUE,

    freq = FALSE, col = "lightgray",

    border = "white", ylim=c(0, 0.6))

    tips: 控制输出小数点位数使用

    3. 算术平均

    mean(faithful$eruptions)

    ## [1] 3.487783

    4. 几何平均

    # 方法1

    exp(mean(log(faithful$eruptions)))

    ## [1] 3.271313

    # 方法2

    psych::geometric.mean(faithful$eruptions)

    ## [1] 3.271313

    5. 中位数与百分位数

    # 方法1

    quantile(faithful$eruptions, c(0.5, 0.6))

    ## 50% 60%

    ## 4.000 4.167

    quantile(faithful$eruptions)

    ## 0% 25% 50% 75% 100%

    ## 1.60000 2.16275 4.00000 4.45425 5.10000

    # 方法2

    median(faithful$eruptions)

    ## [1] 4

    6. 四分位间距 interquartile range

    IQR(faithful$eruptions)

    ## [1] 2.2915

    7. 方差与标准差

    # 方法1

    var(faithful$eruptions)

    ## [1] 1.302728

    sd(faithful$eruptions)

    ## [1] 1.141371

    sd(faithful$eruptions)^2

    ## [1] 1.302728

    # 方法2

    (sum((faithful$eruptions-mean(faithful$eruptions))^2))/(nrow(faithful)-1)

    ## [1] 1.302728

    8. 变异系数

    # 方法1

    raster::cv(faithful$eruptions)

    ## [1] 32.72483

    # 方法2

    sd(faithful$eruptions)/mean(faithful$eruptions)*100

    ## [1] 32.72483

    9. 正态分布和标准正态分布

    dnorm() 的返回值是正态分布概率密度函数,pnorm()返回值是正态分布的分布函数。函数qnorm()的返回值是给定概率p后的下分位点,rnorm()的返回值是n个正态分布随机数构成的向量。

    已知某正态分布均值为72,标准差为15.2,求在72出的概率密度:

    dnorm(72, mean=72, sd=15.2)

    ## [1] 0.0262462

    已知某正态分布均值为72,标准差为15.2,求大于84的概率:

    pnorm(84, mean=72, sd=15.2, lower.tail=FALSE)

    ## [1] 0.2149176

    已知某正态分布均值为0,标准差为1,求小于多少值时,其概率大于0.975

    qnorm(0.975, mean=0, sd=1, lower.tail=TRUE)

    ## [1] 1.959964

    生成服从正态分布,均值为0,标准差异1的100个数:

    rnorm(100, mean=0, sd=1)

    ## [1] 0.9088583642 0.0542498619 0.8192914926 1.1587866403 0.7487648897

    ## [6] -0.6168902920 0.1078935715 1.1951336445 0.0036975486 1.2966867773

    ## [11] 0.8183264357 1.6389580967 -2.2247298218 0.6398493038 1.9140149307

    ## [16] 0.0089555834 -0.3414749680 -3.0666206389 -0.1869732270 0.0276825106

    ## [21] -1.2886633515 -1.9952968803 1.6209100626 -0.2066936489 0.3063477355

    ## [26] -1.1427716887 -0.5210954458 -0.2173103906 1.4138234019 -0.8771639541

    ## [31] -0.0563205068 -0.5469693491 -0.0919514738 -1.0536534005 0.3280428784

    ## [36] -0.1913467409 1.1183458357 -0.8164286750 -1.1930315180 0.5040919775

    ## [41] 0.0484081964 0.2740911516 -0.7203243195 -0.6433319016 0.1492631486

    ## [46] 0.4243109544 0.9278891381 -0.6699978375 -1.1791959728 -0.0001789145

    ## [51] 1.0038939206 -1.2324811382 0.4867781216 -0.4942327893 -2.0529696481

    ## [56] 2.4122364364 1.7431045123 -0.3244588575 1.5236568606 0.7760359808

    ## [61] 0.1699323512 -0.3825630252 -0.4113679610 -0.9148805975 0.7097139924

    ## [66] 1.0609423792 -0.8792786231 0.0760109742 -0.8517641438 0.8935719300

    ## [71] 2.7318160388 -0.0798947127 -1.2611194676 -0.1763794916 1.0069220462

    ## [76] -0.4557541627 -0.1761056609 -0.3785240264 -0.6634945059 1.8784143859

    ## [81] -0.4525364564 -0.6530406635 -1.7098681794 0.3531260338 0.5350506660

    ## [86] -1.4036929289 -0.8077669355 0.4961741708 0.5182125445 0.0539005615

    ## [91] 0.2852671834 -0.1823420591 0.6861371520 -0.7258706420 -0.1963522908

    ## [96] -0.2294918321 1.1703042902 0.1984311847 2.6846082633 1.3155942701

    参考:

    展开全文
  • 目录:求极差(range)做频数分布表和频数分布图(graph of frequency distribution)算术平均数(mean)几何均数(geometric mean)中位数与百分位数(median and percentile)四分位间距(quartile range)方差(variance)标准...
  • 使用quantile函数如下sample {base}R DocumentationRandom Samples and PermutationsDescriptionsample takes a sample of the specified size fromthe elements of x using either with or withoutreplacement....
  • 先说下什么是常规的分位数...今天就来讲讲在sas和r中的操作:SAS实现常规求四分位数我们用means过程:proc means data=你的数据集 median maxdec=2;var 你的变量;run;即可,常规来讲,结果如下。而求非常规分位数我们...
  • 到目前为止,我一直在从R运行Stan,首先按照快速入门指南中的说明安装并运行所有内容。简单线性回归第一步是为Stan模型编写文件。这包含一个文件linreg.stan:data { int N; [N] x; vector[N] y; } parameters { rea...
  • 自举通过重复随机抽样并替换原始样本来生成一个测试统计量或一组测试统计量的经验分布。...如果您愿意假设均值的样本分布为正态分布,则可使用下式计算(1-α/2)%置信区间其中t是具有n-1个自由度的t分布的上限...
  • 1、中位数将整批数据按从小到大顺序排列后,可以一分为二的数值,叫做中位数...最小的四分位数(Q1)称为下四分位数或第一四分位数,最大的四分位数(Q3)称为上四分位数或第三四分位数。中间的四分位数(Q2)是中位...
  • 计算百分位数的方法也一并告知:估值的历史分数位=(当前PE值-历史最小PE)/(历史最大PE-历史最小PE)。 计算过程会因为取数区间的不同,造成历史最大或最小PE的值出现变动,最终导致结果的百分位数据出现变化。所以在...
  • fivenum()函数:返回五个数据:最小值、下四分位数数、中位数、上四分位数、最大值对于奇数个数字=5,fivenum()先排序,依次返回最小值、下四分位数、中位数、上四分位数、最大值> fivenum(c(1,12,40,23,13))[1] ...
  • 1.有关蛋白质结构的计算规律(1)假设氨基酸的平均相对分子质量为a,由n个氨基酸分别形成1条链状多肽或m条链状多肽:肽键数=脱去水分子数=氨基酸数-肽链数蛋白质相对分子质量的计算按照反应前后质量守恒定律计算形成...
  • - seq(1, 250, 1)利用qqnorm函数直接绘制出了如下正态检验qq图qqnorm(a)还可以进一步使用qqline命令在qq图上加上标准直线qqline(a, col=2, lwd=2) # 设置为红色加粗注:qqline的默认算法为向量a上四分位数和下四分...
  • 否则采用中位数(四分位数间距)进行统计描述,采用非参数检验进行组间比较。会统计的猫,公众号:刘老师医学统计​文章中统计方法如何表述(干货收藏,附graphpad 8.0下载)大家对于四分位数间距可能会比较陌生,一般...
  • 对计量型的过程数据而言,如果数据服从正态分布,我们可以很方便地计算出相应的过程能力指数Cp,Cpk等。计算方法参考如下文章过程能力分析--Cpk和Ppk的简单解说​mp.weixin.qq.com但当数据呈现非正态分布状态时,...
  • 包含一组R函数和脚本,用于基于引导方案或Wald-z来计算百分数置信区间,用于使用经典方法和鲁棒方法估算的线性混合模型。 该脚本允许平衡的纵向数据设计。 实现了两种引导程序方案:野生引导程序和参数引导程序。 ...
  • 学习了用R计算样本数据的平均值之后(用R计算均值),下面继续学习其他统计量。 中位数 定义: 为什么要有中位数? 我们要知道的是,均值描述并不总是可靠的或最佳的。均值对于极端值(例如离群点)很敏感, ...
  • 目录:求极差(range)做频数分布表和频数分布图(graph of frequency distribution)算术平均数(mean)几何均数(geometric mean)中位数与百分位数(median and percentile)四分位间距(quartile range)方差...
  • 本文来自:R语言:用R计算各种统计值作者:生物信息学习目录:求极差(range)做频数分布表和频数分布图(graph of frequency distribution)算术平均数(mean)几何均数(geometric mean)中位数与百分位数(median...
  • ß第p百分位数 Þ使得至少有p%的数据小于或等于这个值,且使得至少有(100-p)%的数据大于或等于这个值 Þ ß如何计算? Þ将原数据从小到大排列 Þ计算i=(p/100)*n Þ若i是整数,则第p百分位数为第i项与第i+1...
  • R描述统计分析】描述统计量描述统计量中位数百分位数方差标准差变异系数样本校正平方和样本未校正平方和样本极差偏度系数、峰度系数练习 描述统计量 例: #输入体重 X1<-c(35, 40, 40, 42, 37, 45, 43, 37, 44,...
  • 位置的度量位置的度量就是用来描述定量资料的集中趋势的统计量,常用的有均值、众数、中位数、百分位数等。1.均值 mean( )形式:mean(x, trim = 0, na.rm = FALSE)x 是对象(如向量、矩阵、数组或数据框)trim 是计算...
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    3% = 0.03 (百分之3) 详见“倍率运算”部分。 三 运算结果的输出格式 1-指定方法 格式: [格式前缀] 表达式 表达式前面可带有“格式前缀”(可选的),用来指定运算结果的输出格式。 “格式前缀”与C/C++的...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

r计算百分位数