这些是关于R的统计编程的一些新手问题,我无法在网上找到答案 . 我的数据框在下面的代码中标记为"eitc" .
1) 一旦我've loaded in a data frame, I would like to look at summary statistics. I'使用了这些功能:
eitc <- read.dta(file="/Users/Documents/eitc.dta")
summary(eitc)
sapply(eitc,mean,na.rm=TRUE) #for sample mean, min, max, etc.
如何在满足某些条件时查找数据框的摘要统计信息 . 例如,当变量“children”大于或等于1时,我希望看到所有变量的汇总统计信息 . 等效的Stata代码是:
summarize if children >= 1
2) 同样,如何在满足某些资格要求时找到具体参数?例如,当"post93"变量等于零且"anykids"变量等于1时,我想找到变量"work"的平均值 . 等效的Stata代码是:
mean work if post93==0 & anykids==1
3) 理想情况下,当我运行上面的汇总统计时,我想知道计算中包含了多少观察值/符合标准 .
4) 当我读入数据框时,看到数据集中包含了多少个观察结果(也许有多少行具有缺失值或"NA"在其中)也是很好的 .
5) 另外,我一直在使用以下代码创建虚拟变量 . 这是正确的方法还是更有效的路线?
post93.dummy <- as.numeric(eitc$year>1993)
eitc=cbind(eitc,post93.dummy)
4 回答
subset
回答了很多要求,例如:?subset
文档有很好的例子 .连接虚拟变量的
cbind
方法是不必要的 . 做就是了:我将在
datasets
包中使用mtcars
数据 . 见?mtcars
.Ad 1. 当
gear
大于3时,您可以看到mtcars
的摘要:Ad 2. 使用
with
:Ad 3. 同上(但使用
length
):Ad 4. 见上一页,但要找出答案
做这样的事情:
Ad 5. 这不是虚拟变量,这是原始数据的某种子集,按列连接 . 无论如何你想要实现什么?
Please be concise. One question per question, please!
我建议你看一下plyr包来生成摘要 . 这是一些快速代码(不运行);
您可能还想查看hmisc和psych包以获取更具描述性的stat例程 . (查看Quick-R了解更多信息)
以下是使用data.table快速显示数据子集的一些摘要统计信息的方法 .
您可以使用
model.matrix
创建虚拟变量,请参阅here .