2015-10-27 86 views
0

这是我从here得到的数据集。 当我读拳头在数据集中,并做head功能双重检查,这是输出我得到所示的第一变量7,但我会得到用read_excel读取excel文件

Variables not shown: Status 11/18 (chr), Location 11/18 (chr), Age 11/18 (dbl), age grp (chr), Gender (chr), 
    Ethnic (chr), Prev Relig Aff (chr), Adult/Minor (chr), Resident US Pre-Guyana (chr), Occup US Pre Guyana 
    (chr), Govt Income (chr), JT Residence (chr), Occup in JT ~77 (chr), Occup JT ~Aug 78 (chr) 

这里是我的代码

library(readxl) 
require(mosaic) 
Jonestown = read_excel("C:/Users/Deborah/Desktop/School/STA 418/Homework/jonestown.xls", sheet = 1, col_names = TRUE, skip=0) 
head(Jonestown) 

接下来,我需要创建一个名为未成年人数据集,包括只
(一)人认定为小
(二)谁是出生在美国和
(三)仅具有VAR iables出生国家,圭亚那入境,地位11/18,年龄11/18,性别和种族。你最终应该有293个观察值和6个变量。这是我到目前为止

minor = Jonestown$`Adult/Minor`=="Minor" & Jonestown$`Birth Country`=="USA" 
Minors = Jonestown[minor,] 

我不显示下一步该去哪里。有人能帮我吗?

回答

1

请改用此包。工作对我来说:

install.packages("xlsx")#Excel 
require("xlsx")#Excel 
read.xlsx("C:/Users/Deborah/Desktop/School/STA 418/Homework/jonestown.xls",1) 
0

首先,输出你的第一个问题(“变量未显示”),是完全正常的,并与read_excel打交道时的预期。更重要的一点是,你可能会注意到(试验中)read_excel返回一个类tbl_df,这是来自Hadleyverse的一些软件包,旨在提供更直观/优美的演示和处理data.frames。它很难根据当前窗口的宽度(字符数)限制输出或“查看”data.frame的内容。 (当然,如果你以前做过library(dplyr),它只会这样做。)

其次,对于过滤,因为你已经在使用Hadleyverse的一个组件,所以我会建议第二个(尽管这不是必须的这里):

library(dplyr) 
dat %>% 
    filter(`Adult/Minor` == 'Minor', `Birth Country` == 'USA') %>% 
    select(`Birth State`, `Guyana Entry`) 
## Source: local data frame [293 x 2] 
## Birth State Guyana Entry 
##   (chr)  (time) 
## 1   CA   <NA> 
## 2   MI 1977-09-23 
## 3   MS 1977-08-28 
## 4   CA   <NA> 
## 5   CA 1977-07-23 
## 6   CA   <NA> 
## ... 

这只是一个开始,你应该能够引入你想要的其他变量。我强烈建议您使用dplyr教程,例如vignette that comes with it

注:(?过于苛刻一个字),因为列名不严格的法律为[R(见?data.frame?make.names),你需要使用反引号,而不是单或双引号。