Error in exists(cacheKey, where = .rs.WorkingDataEnv, inherits = FALSE) :
invalid first argument
Run Code Online (Sandbox Code Playgroud)
我使用rm()R 中的函数删除了几个数据帧。他们已被成功删除。但是,每当我运行新代码时,都会不断弹出此提示。
当由于非常大的数据计算将花费很长时间并且因此我们不希望它们崩溃时,事先知道要使用哪种重塑方法将很有价值。
最近,关于性能的数据重塑方法已得到进一步发展,例如data.table::dcast和tidyr::spread。尤其dcast.data.table似乎设置了基调[1],[2],[3],
[4]。这使得基准R中的其他方法reshape显得过时且几乎无用[5]。
但是,我听说对于reshape大型数据集(可能是超出RAM的数据集)来说,这仍然是无与伦比的,因为它是唯一可以处理它们的方法,因此它仍然存在。与reshape2::dcast此相关的崩溃报告支持这一点 [6]。至少有一个参考文献给出了一个暗示,它reshape()可能确实比reshape2::dcast真正的“大杂烩” [7]具有优势。
为此寻求证据,我认为值得花时间进行一些研究。所以我做了不同大小的模拟数据的基准,这日益耗尽RAM比较reshape,dcast,dcast.data.table,和spread。我查看了具有三列的简单数据集,具有不同数量的行以获得不同的大小(请参阅最底部的代码)。
> head(df1, 3)
id tms y
1 1 1970-01-01 01:00:01 0.7463622
2 2 1970-01-01 01:00:01 0.1417795
3 3 1970-01-01 01:00:01 0.6993089
Run Code Online (Sandbox Code Playgroud)
RAM大小仅为8 GB,这是我模拟“非常大”数据集的阈值。为了使计算时间合理,我对每种方法仅进行了3次测量,并专注于从长到宽的重塑。
unit: seconds
expr min lq mean median uq max neval size.gb …Run Code Online (Sandbox Code Playgroud) 我正在使用估计随机效应logit模型glmer,我想报告自变量的边际效应.对于glm模型,包mfx有助于计算边际效应.glmer对象有任何包或函数吗?
谢谢你的帮助.
下面给出了可重现的例子
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank) #creating ranks
id <- rep(1:ceiling(nrow(mydata)/2), times=c(2)) #creating ID variable
mydata <- cbind(mydata,data.frame(id,stringsAsFactors=FALSE))
set.seed(12345)
mydata$ran <- runif(nrow(mydata),0,1) #creating a random variable
library(lme4)
cfelr <- glmer(admit ~ (1 | id) + rank + gpa + ran + gre, data=mydata ,family = binomial)
summary(cfelr)
Run Code Online (Sandbox Code Playgroud) 我想复制已从*.csv文件读入的数据框的全部内容.如果我这样做,我不相信这是重复copyOfFirstFrame <- firstFrame.那么我需要做什么?
firstFrame <- read_csv("fileName.csv")
copyOfFirstFrame <- ?????
Run Code Online (Sandbox Code Playgroud)
如果我执行以下操作,则内存地址保持不变.
copyOfFirstFrame <- firstFrame
tracemem(firstFrame) == tracemem(copyOfFirstFrame)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
副本必须产生两个唯一的内存地址.Check In R,我如何检查两个变量名是否引用相同的底层对象?详情.
对于长模型和重复模型,我想创建一个"宏"(所谓的Stata,并在那里完成global var1 var2 ...),其中包含模型公式的回归量.
例如来自
library(car)
lm(income ~ education + prestige, data = Duncan)
Run Code Online (Sandbox Code Playgroud)
我想要的东西:
regressors <- c("education", "prestige")
lm(income ~ @regressors, data = Duncan)
Run Code Online (Sandbox Code Playgroud)
我能找到这种方法.但我在回归量上的应用不起作用:
reg = lm(income ~ bquote(y ~ .(regressors)), data = Duncan)
Run Code Online (Sandbox Code Playgroud)
因为它抛出了我:
Error in model.frame.default(formula = y ~ bquote(.y ~ (regressors)), data =
Duncan, : invalid type (language) for variable 'bquote(.y ~ (regressors))'
Run Code Online (Sandbox Code Playgroud)
即使是同一问题的公认答案:
lm(formula(paste('var ~ ', regressors)), data = Duncan)
Run Code Online (Sandbox Code Playgroud)
罢工并告诉我:
Error in model.frame.default(formula = formula(paste("var ~ ", …Run Code Online (Sandbox Code Playgroud) 我使用lme4包运行glmer logit模型.我对各种两种和三种互动效果及其解释感兴趣.为简化起见,我只关注固定效应系数.
我设法提出了一个代码来计算并在logit量表上绘制这些效果,但我无法将它们转换为预测的概率量表.最后我想复制effects包的输出.
这个例子依赖于加州大学洛杉矶分校关于癌症患者的数据.
library(lme4)
library(ggplot2)
library(plyr)
getmode <- function(v) {
uniqv <- unique(v)
uniqv[which.max(tabulate(match(v, uniqv)))]
}
facmin <- function(n) {
min(as.numeric(levels(n)))
}
facmax <- function(x) {
max(as.numeric(levels(x)))
}
hdp <- read.csv("http://www.ats.ucla.edu/stat/data/hdp.csv")
head(hdp)
hdp <- hdp[complete.cases(hdp),]
hdp <- within(hdp, {
Married <- factor(Married, levels = 0:1, labels = c("no", "yes"))
DID <- factor(DID)
HID <- factor(HID)
CancerStage <- revalue(hdp$CancerStage, c("I"="1", "II"="2", "III"="3", "IV"="4"))
})
Run Code Online (Sandbox Code Playgroud)
在此之前,我需要的是所有数据管理,功能和包.
m <- glmer(remission ~ CancerStage*LengthofStay + Experience +
(1 | DID), …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Ubuntu 18.04.4 LTS 上安装 R 4.0,但我不断收到以下错误
> sudo apt install r-base-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
r-base-core : Depends: …Run Code Online (Sandbox Code Playgroud) 在rmarkdownPDF和HTML中,我想要两个参考书目 - 一个用于论文/书籍,另一个用于我在研究中使用的软件.我发现了这个相关问题,但它没有回答我的问题,因为它涉及将两个*.bib文件组合成一个参考书目.
我已习惯<div id="refs"></div>按照此处的说明放置我的参考书目.可能第二个可以放置类似<div id="refs_2"></div>,但我无法弄清楚如何做到这一点,因为这"refs"似乎没有在任何地方定义.
我通常像这样在YAML标题中定义软件
nocite: |
@xie_knitr:_2018, @allaire_rmarkdown:_2018, @rstudio_team_rstudio:_2016,
@r_development_core_team_r:_2018
Run Code Online (Sandbox Code Playgroud)
所以我不必每次都经常将它复制粘贴到*.bib文件中(这适用于一个参考书目).理想情况下,这个列表nocite:会显示为另一个标题为"软件"的新参考书目,但我也会对两个*.bib文件解决方案感到满意.
该预期产出将是这样的:
有没有人这样做过,可以解释一下如何做到这一点?
我想获得具有标准误差的多项式 logit 模型的平均边际效应 (AME)。为此,我尝试了不同的方法,但到目前为止还没有达到目标。
我最好的尝试是使用mlogit我在下面显示的手动获取 AME 。
library(mlogit)
ml.d <- mlogit.data(df1, choice="Y", shape="wide") # shape data for `mlogit()`
ml.fit <- mlogit(Y ~ 1 | D + x1 + x2, reflevel="1", data=ml.d) # fit the model
# coefficient names
c.names <- names(ml.fit$model)[- c(1, 5:6)]
# get marginal effects
ME.mnl <- sapply(c.names, function(x)
stats::effects(ml.fit, covariate=x, data=ml.d),
simplify=FALSE)
# get AMEs
(AME.mnl <- t(sapply(ME.mnl, colMeans)))
# 1 2 3 4 5
# D -0.03027080 -0.008806072 0.0015410569 0.017186531 0.02034928
# x1 …Run Code Online (Sandbox Code Playgroud) 我希望能够在循环中创建 RMarkdown 块。我尝试通过for循环来完成此操作,但没有取得太大成功。我想这可能可以通过 实现,就像在闪亮的应用程序中lapply进行创建一样。UIs然而,到目前为止我还没有取得任何成功。
代表:
---
title: "Untitled"
output:
html_document:
theme: united
highlight: tango
toc: true
toc_float:
collapsed: false
smooth_scroll: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
```
```{r}
library(dplyr)
library(ggplot2)
df <- datasets::iris %>%
dplyr::as_tibble()
```
## setosa
```{r}
df %>%
dplyr::filter(Species == "setosa") %>%
ggplot2::ggplot(ggplot2::aes(Sepal.Length, Petal.Length)) +
ggplot2::geom_point()
```
## versicolor
```{r}
df %>%
dplyr::filter(Species == "versicolor") %>%
ggplot2::ggplot(ggplot2::aes(Sepal.Length, Petal.Length)) +
ggplot2::geom_point()
```
## virginica …Run Code Online (Sandbox Code Playgroud) r ×10
lme4 ×2
r-markdown ×2
bigdata ×1
dataframe ×1
graphics ×1
linux ×1
lm ×1
loops ×1
mlogit ×1
multinomial ×1
pandoc ×1
performance ×1
predict ×1
reshape ×1
rstudio ×1
stata ×1
stata-macros ×1
substitution ×1