小编Luc*_*aia的帖子

打印数据框时如何更改stargazer中的列名?

我正在尝试使用 stargazer 包在乳胶中输出数据帧。我希望列名包含乳胶代码,但 stargazer 不允许数据框名称中的乳胶代码。我也尝试使用 column.labels 参数,但此参数仅用于回归表,而不用于输出数据框。这是我尝试过的两种方法。都没有工作。

第一种方法 - 尝试更改数据框中变量的名称

代码

# Creating a data frame
df = data.frame(x = 1:5, y = 6:10)

# Changing names
names(df) = c("$X$", "$Y$\\textsuperscript{1}")

# Exporting
stargazer(df, summary = F, 
  notes = "\\textsuperscript{1} This is a note that was supposed to refer to $Y$.")
Run Code Online (Sandbox Code Playgroud)

输出(显然观星者无法识别 LaTeX 代码):

% Table created by stargazer v.5.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
% Date and time: Sat, Oct 29, 2016 - …
Run Code Online (Sandbox Code Playgroud)

latex r stargazer

7
推荐指数
1
解决办法
7626
查看次数

如何在r中设置异方差数据的加权最小二乘?

我正在对人口普查数据进行回归,其中我的因变量是预期寿命,我有八个自变量.数据汇总为城市,因此我有数千个观测值.

我的模型虽然有些异方差.我想运行加权最小二乘法,其中每个观测值都按城市人口加权.在这种情况下,这意味着我想通过人口平方根的倒数来加权观察.然而,我不清楚什么是最好的语法.目前,我有:

Model=lm(…,weights=(1/population))
Run Code Online (Sandbox Code Playgroud)

那是对的吗?或者应该是:

Model=lm(…,weights=(1/sqrt(population)))
Run Code Online (Sandbox Code Playgroud)

(我在这里发现了这个问题:加权最小二乘 - R但它没有说明R如何解释权重参数.)

regression r least-squares

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

在两个向量中找到不匹配的位置,包括 NA

我很不好意思问这个问题。有经验的 R 用户肯定知道这一点,但这里是:

我需要找到两个假定相同的向量之间不匹配的位置。在这种情况下,将 NA 视为不匹配非常重要。

数据示例

> x <- c(1, NA, NA, NA, 5); x
[1]  1 NA NA NA  5
> y <- c(1, NA, NA, 4, 5); y
[1]  1 NA NA  4  5
Run Code Online (Sandbox Code Playgroud)

我想得到什么

如果我得到一个布尔向量或一个位置不匹配的数字向量,对我来说并不重要:

> c(F, T, T, T, F)
[1] FALSE  TRUE  TRUE  TRUE FALSE
> 2:4
[1] 2 3 4
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情:

> which(x != y)
integer(0)
> setdiff(x, y)
numeric(0)
> !(x %in% y)
[1] FALSE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

r vector match

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

多个变量的汇总统计,统计为行,变量为列?

我正在尝试使用 dplyr::summarize() 和 dplyr::across() 来获取行中包含多个汇总统计信息和列中的变量的小标题。我只能通过使用 dplyr::bind_rows() 来实现这个结果,但我想知道是否有更优雅的方法来获得相同的输出。

> library(tidyverse)
?? Attaching packages ?????????????????????????????????????????????? tidyverse 1.3.1 ??
? ggplot2 3.3.3     ? purrr   0.3.4
? tibble  3.1.1     ? dplyr   1.0.6
? tidyr   1.1.3     ? stringr 1.4.0
? readr   1.4.0     ? forcats 0.5.1
?? Conflicts ????????????????????????????????????????????????? tidyverse_conflicts() ??
? dplyr::filter() masks stats::filter()
? dplyr::lag()    masks stats::lag()
> 
> bind_rows(min = summarize(starwars, across(where(is.numeric), min, 
+       na.rm = TRUE)), 
+   median = summarize(starwars, across(where(is.numeric), median, 
+       na.rm = TRUE)), 
+   mean = summarize(starwars, across(where(is.numeric), mean, …
Run Code Online (Sandbox Code Playgroud)

r dplyr summarize tidyverse across

2
推荐指数
1
解决办法
77
查看次数

rm(list = ls()) 在函数内不起作用。为什么?

我正在尝试创建一个函数,该函数将同时清除工作区和内存,这样我就不必键入“rm(list = ls()); gc()”,而只需键入一个函数。但是 rm(list = ls()) 从函数内部调用时不起作用。为什么?有没有办法解决?

> # Let's create an object
> x = 0
> ls()
[1] "x"
> 
> # This works fine:
> rm(list = ls()); gc()
         used (Mb) gc trigger (Mb) max used (Mb)
Ncells 269975 14.5     592000 31.7   427012 22.9
Vcells 474745  3.7    1023718  7.9   808322  6.2
> ls()
character(0)
> 
> ## But if I try to create a function to do exactly the same thing, it doesn't work
> # …
Run Code Online (Sandbox Code Playgroud)

workspace garbage-collection r

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

R中的舍入误差?

考虑以下:

> x<-178379.4999999999999999999999999999999
> x
[1] 178379.5
> round(x)
[1] 178380
Run Code Online (Sandbox Code Playgroud)

这似乎是一个基本的舍入错误。R中是否存在已知的舍入误差?还是因为即使在工作存储器中,R最多也只能处理22位数字?

r rounding

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