小编Edw*_*ard的帖子

使用 dplyr 在 R 中调用 prop.test 函数

我正在尝试计算几个二项式比例置信区间。我的数据位于数据框中,虽然我可以成功地estimate从 返回的对象中提取 ,但在数据框中运行时prop.testconf.int变量似乎为空。

library(dplyr)

cases <- c(50000, 1000, 10, 2343242)
population <- c(100000000, 500000000, 100000, 200000000)

df <- as.data.frame(cbind(cases, population))
df %>% mutate(rate = prop.test(cases, population, conf.level=0.95)$estimate)
Run Code Online (Sandbox Code Playgroud)

这适当地返回

    cases population       rate
1   50000      1e+08 0.00050000
2    1000      5e+08 0.00000200
3      10      1e+05 0.00010000
4 2343242      2e+08 0.01171621
Run Code Online (Sandbox Code Playgroud)

然而,当我跑

df %>% mutate(confint.lower= prop.test(cases, pop, conf.level=0.95)$conf.int[1])
Run Code Online (Sandbox Code Playgroud)

我伤心地得到

Error in mutate_impl(.data, dots) : 
  Column `confint.lower` is of unsupported type NULL
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我知道计算二项式比例置信区间的替代方法,但我真的很想学习如何使用dplyr

谢谢!

r dplyr

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

从 R 中的 excel 模拟增量计算

我正在尝试模拟当前使用 R 在 Excel 中手动完成的过程,以帮助简化该过程,因此不需要手动完成。这是我正在使用的一些示例数据的示例(请记住,这是一组更大的数据的片段)。

qty_available<- c(13500, 8500, 4600)
supply_qty<- c(0, 1000, 0)
forecast<- c(1200, 400, 3000)
demand_q<- c( 100, 800, 6000)

df<- data.frame(qty_available, supply_qty, forecast, demand_q)
Run Code Online (Sandbox Code Playgroud)

我正在尝试进行以下操作(伪代码):

qty_available = previous(qty_available) + supply_qty - forecast - demand_q 
Run Code Online (Sandbox Code Playgroud)

我可以忽略第一个观察结果,因为它与我的任务上下文无关。

所以在第二个观察中,我们会给13,500 + 1000 - 400 - 800我们13,300. 第三个观察结果将是13,300 + 0 - 3000 - 6000给予我们4300

如果我要在 Excel 中打开此数据集(以 CSV 格式读取),则过程很简单。我会在 cell 中使用这个公式A3 = A2+B3-C3-D3。然后只需将其向下拖动到列的其余部分即可。

我将如何在 R 中模仿这一点?

我已尝试使用以下命令执行此操作

df<- mutate(df, qty_available = lag(qty_available) …
Run Code Online (Sandbox Code Playgroud)

excel r data-manipulation dataframe

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

如何获取最后一个非 NA 列的值

解释起来有点困难,但我有一个数据框,其值看起来像楼梯 - 对于每个日期,都有不同的列,某些日期的值不适用。我想创建一个新列,其中包含最后一个非 NA 列值。

希望这个例子更有意义:

示例数据框:

test <- data.frame("date" = c(as.Date("2020-01-01"), as.Date("2020-01-02"), as.Date("2020-01-03")),
                   "a" = c(4, 3, 4),
                   "b" = c(NA, 2, 1),
                   "c" = c(NA, NA, 5))
Run Code Online (Sandbox Code Playgroud)

期望的输出:

date............val
2020-01-01...... 4
2020-01-02...... 2
2020-01-03...... 5
Run Code Online (Sandbox Code Playgroud)

我也不想做类似获取日期的行号并获取该列号 + 1 之类的事情,但如果这是唯一的方法,那就是这样。谢谢!

r data-manipulation dplyr

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

抑制“tibbles”的列类

显示 tibbles 时如何抑制列类?例如,

> cars <- as_tibble(mtcars)
> cars
# A tibble: 32 x 11
     mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  # <-- I don't want to show this row
 1  21       6  160    110  3.9   2.62  16.5     0     1     4     4
 2  21       6  160    110  3.9   2.88  17.0     0     1     4     4
 3  22.8     4  108     93  3.85  2.32  18.6     1     1 …
Run Code Online (Sandbox Code Playgroud)

r tibble

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

执行配对检验和生存趋势检验

我正在尝试进行成对测试,以确定成对组之间的生存率是否存在差异。

\n\n

使用的数据:

\n\n

在此输入图像描述

\n\n
time_Untreated<- c(20, 21, 23, 24, 24, 26, 26, 27, 28, 30)\ncensor_Untreated<- c(rep(1,10), rep(0,0))\ncensor_Untreated\n\ntime_Radiated<- c(26,28, 29, 29, 30, 30, 31, 31, 32, 35)\ncensor_Radiated<- c(rep(1,9), rep(0,1))\ncensor_Radiated\n\ntime_Radiated_BPA <- c(31, 32, 34, 35, 36, 38, 38, 39, 42, 42)\ncensor_Radiated_BPA <- c(rep(1,8), rep(0,2))\ncensor_Radiated_BPA\n\nmyData <- data.frame(time=c(time_Untreated, time_Radiated, time_Radiated_BPA),\n                     status=c(censor_Untreated, censor_Radiated, censor_Radiated_BPA),\n                     group= rep(1:3, each=10))\n\nlibrary(KMsurv)\nlibrary(survival)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试使用该功能:pairwise_survdiff但无法在其上构建代码。

\n\n

另外,我想进行趋势测试,以测试这个有序的假设(未经治疗的动物的生存率最差,接受辐射的老鼠的生存率略有提高,接受辐射的老鼠+BPA应该有最好的生存率。)

\n\n

这是我对输出所做的处理,但我不确定卡方值和 p 值是哪个:
\n这正确吗?

\n\n
KM.fit<-survfit(Surv(time,status)~group, conf.type="none", data=myData)\nKM.fit\n\nCall: survfit(formula = Surv(time, status) ~ group, data = myData, conf.type = "none") …
Run Code Online (Sandbox Code Playgroud)

r survival

0
推荐指数
1
解决办法
2083
查看次数

标签 统计

r ×5

data-manipulation ×2

dplyr ×2

dataframe ×1

excel ×1

survival ×1

tibble ×1