全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2810 2
2018-05-07
悬赏 20 个论坛币 已解决
本人在运行R程序遇到一点小困惑,先来比较两段简单的程序:

a. 直接联网运行
classroom <- read.csv("http://www-personal.umich.edu/~bwest/classroom.csv")
schoolLookupVec <- unique(classroom[c("classid","schoolid")])[,"schoolid"]

Result:
a.png

b. 将文件下载后运行
(将上述文件下载后运行:http://www-personal.umich.edu/~bwest/classroom.csv
classroom <- read_csv("C:/Users/data/Desktop/classroom (1).csv")
schoolLookupVec <- unique(classroom[c("classid","schoolid")])[,"schoolid"]

Result:
b.png

1. 为什么同样的数据(区别仅在于联网与非联网)同样的程序却产生了不同的结果: a中结果生成的是Values,而b中结果是data?
2. 如何使本地文件生成的结果是Values?

期待各位朋友指点和意见!谢谢

最佳答案

rainningpoet 查看完整内容

2个方法都得到 vector .用df[,'var1']这种方法 对dataframe 选一个变量的时候就会得到vector. 选2个或以上就会变成dataframe。 建议用 library(dplyr) classroom
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-5-7 22:47:00
2个方法都得到 vector .用df[,'var1']这种方法 对dataframe 选一个变量的时候就会得到vector. 选2个或以上就会变成dataframe。
建议用
library(dplyr)
classroom <- read.csv("http://www-personal.umich.edu/~bwest/classroom.csv")
schoolLookupVec <- unique(classroom[c("classid","schoolid")])%>%select("schoolid")

###############################################################
classroom <- read.csv("http://www-personal.umich.edu/~bwest/classroom.csv")
glimpse(classroom)  
schoolLookupVec <- unique(classroom2[c("classid","schoolid")])[,"schoolid"]
glimpse(schoolLookupVec)


classroom2 <- read.csv("classroom.csv")
glimpse(classroom2)  
schoolLookupVec2 <- unique(classroom2[c("classid","schoolid")])[,"schoolid"]
glimpse(schoolLookupVec2)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-8 10:06:59
rainningpoet 发表于 2018-5-7 23:37
2个方法都得到 vector .用df[,'var1']这种方法 对dataframe 选一个变量的时候就会得到vector. 选2个或以上就 ...
classroom2 <- read.csv("classroom.csv")
glimpse(classroom2)  
schoolLookupVec2 <- unique(classroom2[c("classid","schoolid")])[,"schoolid"]
glimpse(schoolLookupVec2)

我把csv换成excel后,用以上code还是得出的是dataframe,请问这是为什么?
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群