我正在尝试计算birthwt在 RStudio 中找到的出生体重数据集 ( ) 的描述性统计数据。不过,我只关心几个变量:age,ftv,ptl和lwt。
这是我到目前为止的代码:
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. 我就是不知道为什么或如何解决它!
我正在开发一个闪亮的应用程序,但遇到了根据浏览器窗口的大小放置小部件的问题。我正在使用嵌套列和 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 新手,无法搜索我遇到的具体问题的答案。
如果我的数据框如下所示:
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) 我正在尝试从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()进行了调整,但似乎无法找到一种方法来从文本输出中分离和提取我需要的数据.如果有人偶然发现并且可以指出我正确的方向,请提前感谢 - 如果不是,我会试图解决这个问题!
我有以下问题.
为什么在标准节点上提交作业(最大核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节点的问题.那可能是什么?
谢谢,
我正在传递一个列表,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) 我试图调用一个函数,该函数需要一个字符串作为参数之一.但是,尝试替换包含该字符串的变量会引发错误.
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) 我已经开始学习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中的新行值中。
我正在尝试将数据从长调整为宽,但在这里我需要创建名称列,例如 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)
我想转换df为df2.
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) 有没有办法summarise在dplyr同一列上(或与其他代码),而不必每次都指定列?
summarise(temp1, earliest=min(ArrDelay), average= mean(ArrDelay), latest=(ArrDelay))
Run Code Online (Sandbox Code Playgroud)