我正在尝试使用“dplyr”命令 mutate 创建一个变量,该变量必须指示另一个变量的分位数。
例如:
# 1. Fake data:
data <- data.frame(
"id" = seq(1:20),
"score" = round(rnorm(20,30,20)))
# 2. Creating varaible 'Quantile_5'
data <-data %>%
mutate(Quntile_5 = ????)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经创建了一个函数,该函数可以识别并返回分位数作为一个因子,并且该函数实际上有效
# 3. Create a function:
quantile5 <- function(x){
x = ifelse(
x < quantile(x,0.2),1,
ifelse(x >= quantile(x,0.2) & x < quantile(x,0.4),2,
ifelse(x >= quantile(x,0.4) & x < quantile(x,0.6),3,
ifelse(x >= quantile(x,0.6) & x < quantile(x,0.8),4,5
))))
return(as.factor(x))
}
# 4. Running the code:
data <-data %>%
mutate(Quntile_5 = quantile5(score))
# 5. …Run Code Online (Sandbox Code Playgroud) 有谁知道在制作回归表输出时,stargazer 的参数“省略”的反义词是什么?
我试图仅显示回归中的一个(或几个)协变量。我知道可以使用“省略”,然后列出不想在输出中显示的所有变量名称,但是有没有什么方法可以调用人们实际上想要在最终表中维护的变量名称?
我很难处理线性模型中直接调用的虚拟变量之间的相互作用。例如,假设我想运行以下模型:
# Libraries
library(stargazer)
# Data:
data <- data.frame(
"Y" = rnorm(100,20,45),
"Dummy1" = sample(c(1,0),100, replace = T),
"Dummy2" = sample(c(1,0),100, replace = T),
"Dummy3" =sample(c(1,0),100, replace = T))
# Model:
model1 <- lm(Y ~ Dummy1*Dummy2*Dummy3, data)
Run Code Online (Sandbox Code Playgroud)
假设我想在输出观星表中仅报告三重交互。但是,例如,当我尝试删除简单变量“Dummy1”的结果时,stargazer 会删除所有以“Dummy1”开头的变量,因此也删除了三重交互。
# Problem
stargazer(model1, type = "text", omit = "Dummy1")
===============================================
Dependent variable:
---------------------------
Y
-----------------------------------------------
Dummy2 23.705
(17.236)
Dummy3 19.221
(17.591)
Dummy2:Dummy3 -25.568
(23.908)
Constant 5.373
(12.188)
-----------------------------------------------
Observations 100
R2 0.099
Adjusted R2 0.031
Residual Std. Error …Run Code Online (Sandbox Code Playgroud)