Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R语言:如何打印/查看样本子集的汇总统计信息?_R_Statistics_Stata - Fatal编程技术网

R语言:如何打印/查看样本子集的汇总统计信息?

R语言:如何打印/查看样本子集的汇总统计信息?,r,statistics,stata,R,Statistics,Stata,这些是一些关于R统计编程的新手问题,我还没有在网上找到答案。我的数据帧在下面的代码中标记为“eitc” 1)加载数据帧后,我想查看摘要统计信息。我使用了以下函数: eitc <- read.dta(file="/Users/Documents/eitc.dta") summary(eitc) sapply(eitc,mean,na.rm=TRUE) #for sample mean, min, max, etc. 2)类似地,当满足某些条件时,我如何找到具体参数?例如,当“post93”

这些是一些关于R统计编程的新手问题,我还没有在网上找到答案。我的数据帧在下面的代码中标记为“eitc”

1)加载数据帧后,我想查看摘要统计信息。我使用了以下函数:

eitc <- read.dta(file="/Users/Documents/eitc.dta")
summary(eitc)
sapply(eitc,mean,na.rm=TRUE) #for sample mean, min, max, etc.
2)类似地,当满足某些条件时,我如何找到具体参数?例如,当“post93”变量等于零,“anykids”变量等于1时,我想求变量“work”的平均值。等效Stata代码为:

summarize if children >= 1
mean work if post93==0 & anykids==1
3)理想情况下,当我运行上述汇总统计数据时,我想知道计算中包含了多少观察值/符合标准

4)当我在数据框中读取数据时,还可以看到数据集中包含了多少观察值(可能还有多少行中缺少值或“NA”)

5)此外,我一直在使用以下代码创建虚拟变量。这是正确的方法还是有更有效的方法

post93.dummy <- as.numeric(eitc$year>1993)
eitc=cbind(eitc,post93.dummy)
post93.1993)
eitc=cbind(eitc,后93.虚拟)

您的许多需求都由
子集来回答,例如

summary(subset(eitc, post93 == 0 & anykids == 1, select=work))
nrow(subset(eitc, post93 == 0 & anykids == 1, select=work)) # for number of obs.
?子集
文档中有很好的示例

附加虚拟变量的
cbind
方法是不必要的。只要做:

eitc$post93.dummy <- as.numeric(eitc$year>1993) 
eitc$post93.1993)

我将使用
数据集
软件包中提供的
mtcars
数据。请参见mtcars

Ad 1。
档位
大于3时,您可以看到
mtcars
的摘要:

summary(mtcars[mtcars$gear > 3, ])
## or by using Tukey's five number summary
sapply(mtcars[mtcars$gear > 3, ], fivenum)
广告2。
一起使用

with(mtcars, mean(hp[gear > 3 & mpg > 20]))
with(mtcars, length(hp[gear > 3 & mpg > 20]))
## or
sapply(mtcars[mtcars$gear > 3, ], length) ## which is trivial when there are no NA's
sapply(mtcars[mtcars$gear > 3, ], length, na.rm = TRUE) ## but this one's good when there are NA's
nrow(mtcars[mtcars$gear > 3, ])
广告3.同上(但使用
长度
):

广告4。请参见上一页,但要了解详情

有多少行缺少值或值 “不”在他们里面

这样做:

apply(dtf, 1, function(x) length(is.na(x)))
Ad 5。这不是一个伪变量,这是原始数据的一个子集,按列连接。你到底想达到什么目的


请简明扼要。请每个问题问一个问题

我建议您查看生成摘要的软件包。这里有一些快速代码(不运行)

#根据5级子级的数值生成一个新因子

eitc$childfac以下是您可以如何使用快速显示数据子集的一些摘要统计信息

库(data.table)

欢迎来到StackOverflow。很好地包含了一些代码和一个很好的描述,但是如果我能给出两点来帮助你,1)尝试每个问题保留一个问题,即使你一次开始四个问题,2)阅读其中关于发布自包含的简单代码示例的建议。
#Generate a new factor based on the numeric value of children with 5 levels
eitc$childfac<-cut(eitc$children,5)

# Generate mean and sd of the variables foo and bar based on that factor
ddply(eitc, .(childfac), function(df) {
  return(data.frame(meanfoo=mean(df$foo), sdfoo=stdev(df$foo),
    meanbar=mean(df$bar), sdbar=stdev(df$bar))
  })
library(data.table)

dt <- data.table(mtcars)

var.names <- c("cyl", "disp", "hp")
dt[mpg > 20, 
   list(name=var.names, N=.N, mean=lapply(.SD, mean), sd=lapply(.SD, sd)), 
   .SDcols=var.names]