使用read_excel读取excel文件

时间:2015-10-27 00:38:20

标签: r

这是我从here获取数据集的地方。 当我第一次读入数据集并执行head函数进行双重检查时,这是输出,我得到了显示的前7个变量,但后来我得到

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)

接下来,我需要创建一个名为minors的数据集,其中只包含
(a)被确定为未成年人的人 (b)出生在美国的人和 (c)只有变量出生国家,圭亚那入境,11/18年级,11/18年龄,性别和族裔。你应该得到293个观察结果和6个变量。这就是我到目前为止所拥有的

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

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

2 个答案:

答案 0 :(得分:1)

请改用此套餐。适合我:

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

答案 1 :(得分:0)

首先,在处理read_excel时,您首先提出的输出(“变量未显示”)完全正常并且是预期的。更重要的是,您可能会注意到(通过实验)read_excel返回类tbl_df,来自Hadleyverse的包,旨在提供更直观/更优雅的数据框架表示和处理。它很难根据当前窗口的宽度(字符数)限制输出或“查看”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)的列名不是严格合法的(对于一个单词来说太苛刻了?),你需要使用反引号而不是单引号或双引号。