小编ali*_*ire的帖子

使用 summarise() 函数时出现 NA 的标准偏差

我正在尝试计算birthwt在 RStudio 中找到的出生体重数据集 ( ) 的描述性统计数据。不过,我只关心几个变量:ageftvptllwt

这是我到目前为止的代码:

library(MASS)
library(dplyr)
data("birthwt")

grouped <- group_by(birthwt, age, ftv, ptl, lwt)

summarise(grouped, 
          mean = mean(bwt),
          median = median(bwt),
          SD = sd(bwt))
Run Code Online (Sandbox Code Playgroud)

它给了我一张印刷精美的表格,但只有有限数量的 SD 被填满,其余的说NA. 我就是不知道为什么或如何解决它!

r standard-deviation dplyr

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

在闪亮的 R 中,fluidPage 上的控制小部件的对齐方式

我正在开发一个闪亮的应用程序,但遇到了根据浏览器窗口的大小放置小部件的问题。我正在使用嵌套列和 FluidRow 来放置我的小部件(请参阅下面的代码)。我希望小部件 B 和 D 的左侧对齐,B 和 E 的右侧对齐(参见图 1),但是当我增加窗口的大小时,在某些时候右侧的对齐不再有效(图2)。

图1:正确的布局 正确的布局

图2:错误的布局 布局不正确

这是一个可重现的示例:
ui.R:

library(shiny)

shinyUI(fluidPage(column(
6,fluidRow(column(6, numericInput("a", label = "A", 0)),
           column(6, numericInput("b", label = "B", 0))),
fluidRow(
    column(6, numericInput("c", label = "C", 0)),
    column(3, numericInput("d", label = "D", 0)),
    column(3, numericInput("e", label = "E", 0))
)
 ),
 column(5, offset=1,h1("other stuff"))
))
Run Code Online (Sandbox Code Playgroud)

服务器.R:

library(shiny)

shinyServer(function(input, output) {})
Run Code Online (Sandbox Code Playgroud)

r shiny

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

使用现有列(提取唯一值)将列添加到数据框

我是 R 新手,无法搜索我遇到的具体问题的答案。

如果我的数据框如下所示:

d <- data.frame(Name = c("Jon", "Jon", "Jon", "Kel", "Kel", "Kel", "Don", "Don", "Don"),
             No1 = c(1,2,3,1,1,1,3,3,3),
             No2 = c(1,1,1,2,2,2,3,3,3))

Name No1 No2
Jon   1   1
Jon   2   1
Jon   3   1
Kel   1   2
Kel   1   2
Kel   1   2
Don   3   3
Don   3   3
Don   3   3 
...
Run Code Online (Sandbox Code Playgroud)

我如何添加能够向数据帧添加新列,其中列将指示列中的唯一值,No1并且No2:对于约翰,凯利,这将是 (1,2,3), (1,2), (3) ,唐,分别

所以,如果新列被命名为ID#,期望的结果应该是

d2 <- data.frame(Name = c("Jon", "Jon", "Jon", "Kel", "Kel", "Kel", "Don", "Don", "Don"),
          No1 …
Run Code Online (Sandbox Code Playgroud)

r

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

从PDF的特定位置提取数据?

我正在尝试从pdf中提取数据,该数据可以位于https://www.dol.gov/ui/data.pdf.我感兴趣的数据在PDF的第4页,是初始索赔(NSA)的3个观察结果,保险失业(NSA)的3个观察结果,以及最近一周使用的覆盖就业(脚注2) .

我已经使用pdftools将PDF读入R,但生成的文本输出非常难看(由于PDF的性质,有点可以预期).有什么办法可以从这个文本输出中提取特定数据吗?我相信数据将始终在输出中的相同位置,这是有帮助的.

我正在查看的输出可以通过以下脚本看到:

library(pdftools)

download.file("https://www.dol.gov/ui/data.pdf", "data.pdf", mode="wb")

uidata <- pdf_text("data.pdf")
uidata[4]
Run Code Online (Sandbox Code Playgroud)

我搜索过类似问题的人并用scan()和grep()进行了调整,但似乎无法找到一种方法来从文本输出中分离和提取我需要的数据.如果有人偶然发现并且可以指出我正确的方向,请提前感谢 - 如果不是,我会试图解决这个问题!

pdf r

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

R:makeCluster(多核)中的错误:无法打开连接

我有以下问题.

为什么在标准节点上提交作业(最大核56)时一切运行正常,但是当我向big_memory节点(最大核128)提交相同的作业/代码时,我收到错误?

- R中的并行化代码:

no_cores < - detectCores() - 1

cl < - makeCluster(no_cores,outfile = paste0('./ info_parallel.log'))

- 错误......

socketConnection出错(master,port = port,blocking = TRUE,open ="a + b",:

无法打开连接

调用:... doTryCatch - > recvData - > makeSOCKmaster - > socketConnection

另外:警告信息:

在socketConnection中(master,port = port,blocking = TRUE,open ="a + b",:

localhost:11232无法打开

执行停止

反序列化错误(节点$ con):从连接读取错误

调用:... doTryCatch - > recvData - > recvData.SOCKnode - > unserialize

执行停止

反序列化错误(节点$ con):从连接读取错误

调用:... doTryCatch - > recvData - > recvData.SOCKnode - > unserialize

执行停止


正如我所说,R代码在标准节点上运行良好,所以我认为它是large_memory节点的问题.那可能是什么?

谢谢,

parallel-processing r cluster-computing

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

应用地图后保留列表名称

我正在传递一个列表,map并希望返回一个带有合并名称的data.frame对象.

例如:

library(tidyverse)
library(broom)

mtcars %>%
    split(.$vs) %>%
    map_df(~ tidy(lm(mpg ~ cyl, .)))

         term  estimate std.error statistic      p.value
1 (Intercept) 36.926733  3.690822 10.005017 2.727754e-08
2         cyl -2.728218  0.490297 -5.564419 4.272958e-05
3 (Intercept) 41.940000  5.778467  7.257981 1.003636e-05
4         cyl -3.802500  1.240052 -3.066404 9.781943e-03
Run Code Online (Sandbox Code Playgroud)

如何在其中提取名称(vs组)map并将其作为结果中的附加列添加,如下所示:

         term  estimate std.error statistic      p.value GROUP
1 (Intercept) 36.926733  3.690822 10.005017 2.727754e-08 0
2         cyl -2.728218  0.490297 -5.564419 4.272958e-05 0
3 (Intercept) 41.940000  5.778467  7.257981 1.003636e-05 1
4         cyl -3.802500  1.240052 …
Run Code Online (Sandbox Code Playgroud)

r purrr

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

在函数调用中用变量替换字符串参数

我试图调用一个函数,该函数需要一个字符串作为参数之一.但是,尝试替换包含该字符串的变量会引发错误.

library(jtools)

# Fit linear model
fitiris <- lm(Petal.Length ~ Petal.Width * Species, data = iris)

# Plot interaction effect: works!
interact_plot(fitiris, pred = "Petal.Width", modx = "Species")

# Substitute variable name for string: doesn't work!
predictor <- "Petal.Width"
interact_plot(fitiris, pred = predictor, modx = "Species")

Error in names(modxvals2) <- modx.labels : 
  attempt to set an attribute on NULL
Run Code Online (Sandbox Code Playgroud)

interaction r linear-regression

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

逐行计算

我已经开始学习R。

在如何进行循环计算方面需要您的帮助:

C1    C2     C3   
A     5      10   
A     4       6
B     2       3
B     8       9
Run Code Online (Sandbox Code Playgroud)

我希望输出为

C1    C2         C3     C4(c2*c3)
A     5          10     50
A     4+50=54     6      54*6= 324
B     2           3      6
B     8+6=14      9      14*9 = 126
Run Code Online (Sandbox Code Playgroud)

对于列C1中的每个不同值,应将在C4中计算出的值添加到C2中的新行值中。

r

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

当没有名称列时(或者当应该创建名称列时)

我正在尝试将数据从长调整为宽,但在这里我需要创建名称列,例如 event1、event2、event3 等。换句话说,没有自然的参数候选者names_from。我尝试了几种不同的方法,但无法得到我正在寻找的东西 - 这是一个可重现的例子。

set.seed(57)
df <- data.frame(date = seq.Date(as.Date("2009-01-01"), as.Date("2009-01-12"), by = 1),
                 id = rep(1:3, each = 4),
                 val = rnorm(12)) %>% filter(val > 0.5)
Run Code Online (Sandbox Code Playgroud)

我想转换dfdf2.

df2 <- data.frame(id = c(1:3),
              event1 = c("2009-01-03", "2009-01-06", "2009-01-10"),
              event2 = c("2009-01-04", "2009-01-07", "2009-01-11"),
              event3 = c(" ", " ", "2009-01-12"))
Run Code Online (Sandbox Code Playgroud)

请注意,此数据集记录了每个 ID 的第一次、第二次和第三次(如果有)出现日期。

这是我尝试使用names_prefix但似乎不起作用的方法。

set.seed(57)
df <- data.frame(date = seq.Date(as.Date("2009-01-01"), as.Date("2009-01-12"), by = 1),
             id = rep(1:3, each = 4),
             val …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr tidyverse

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

如何在一列上汇总dplyr,而不是每次都指定列

有没有办法summarisedplyr同一列上(或与其他代码),而不必每次都指定列?

 summarise(temp1, earliest=min(ArrDelay), average= mean(ArrDelay), latest=(ArrDelay))
Run Code Online (Sandbox Code Playgroud)

r dplyr

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