作者Toeic1000 (乡民多益都1000)
看板NTU-Exam
标题[试题] 108-1 林明仁 资料科学与社会研究 期中考
时间Sun Jun 28 23:10:08 2020
课程名称︰资料科学与社会研究
课程性质︰经济系/所选修
课程教师︰林明仁、谢吉隆
开课学院:社会科学院
开课系所︰经济系
考试日期(年月日)︰2019/10/28
考试时限(分钟):120分钟
绿色的部分为程式码、变项或变项的值
蓝色的部分为程式码跑出的结果或data frame表格
试题 :
1.(5分)
options(stringAsFactor = False)的
options()功能为何?
又为何要设定
stringAsFactor = False?
2.(5分)
若想要印出一个名为
df的
data.frame前六笔资料出来观察,要怎麽写?
3.(5分)
请分别解释下列这行程式码:
ubike.list <- fromJSON(content(GET(url), "text", encoding - "utf-8"))
的
GET(url)、
content()、
fromJSON()三个函式的功能。
4.(5分)
现有一df存有各县市(
county)及县市面积(
area),以及县市所辖各项镇市区(
town)的人
口数(
population),我想要用dplyr计算各县市的人口密度,要怎麽写?
5.(5分)
我现在读取了一个档案
raw <- read.csv("twdata/opendata107Y030.csv"),发现第一列
为中文变项名称,我打算删除第一列要怎麽做(用base或dplyr的写法均可)?
6.(5分)
用dplyr将
df(某个data frame)的两个变项
var1与
var2相加後产生新的变项
var3,并将整
个结果指给名为
df1的新data frame。
7.(5分)
我现在有个data.frame为
df1,中有三个变项
name、
height、
weight,现在我要照着
height排序所有资料,用dplyr要怎麽做?
8.(5分)
现在我有三个data.frame分别为
df1、
df2、
df3,请写出程式码以将之储存成档名为
test.rda的档案。储存为rds档和rda档在储存与後续使用上有何差异?
9.(5分)
用dplyr筛除某一data frame
df中
var1或
var2有
NA的所有资料列,最後Assign以覆盖掉
原本的
df。
10.(5分)
我有一个data frame
df,
education变项的值有
国中、
高中、
大学、
研究所、
博士,我
现在想建立一个新变项
univ,如果是大学以上学历,
univ的值为
TRUE,不然的话就是
FALSE。请用dplyr写出符合要求的程式码。
11.(5分)
有以下
df中的资料6845列,我分析时想着重分析
sentence_type变项中,BACKGROUND与
METHODS两个类别,其他的资料我不想要,请问用dplyr要怎麽写?
Created Date sentence sentence_type
2018-01-11 Rapid popularity of... BACKGROUND
2018-01-11 To ensure secure and... OBJECTIVES
2018-01-11 This paper introduces... METHODS
2018-01-11 The proposed TMM utilizes... METHODS
2018-01-11 In cortrast to the existing... RESULTS
2018-01-11 With the growing usage of... CONCLUSIONS
12.(5分)
下方第一个data frame名为
df1,下方第二个data frame名为
df2,请写程式码将
df1展为
df2的型态?又如何写程式码将
df2转为
df1的型态?(主要分数在前问号,後方问号写出
函式名称就算分)
df1
time reigon n
<chr> <chr> <int>
01 中山 25
01 中正 12
01 信义 9
01 内湖 11
df2
time 中山 中正 信义 内湖
1 00 0 2 0 1
2 01 27 12 10 11
3 02 1 0 1 0
4 04 17 10 11 20
13.(5分)
若想获得以下print的执行结果,两个
# add some code here分别应填入什麽程式码?
vec <- c(10, 20, 30)
for( # add some code here ){
#add some code here
}
[1] "1th item: 10"
[1] "2th item: 20"
[1] "3th item: 30"
14.(5分)
以下为ptt的post资料截图和
strptime()的时间辨识子(identifier),
ptime目前仍为
文字格式,我想把他转为R的datetime,请问辨识子要怎麽写?
posts <- allp.df %>%
mutate(ptime = as.POSIXct(strptime(ptime, "YOUR CODE HERE"))) %>%
-%Y: Year with country
-%a: Abbreviated weekday name
-%X: Time. Locale-specific on output, "%H:%M:%S" on input
-%b: Abbreviated month name
-%e: Day of the month as decimal number (1-31)
ptitle ptime ipaddr
Re:[新闻]重申反对一国... Fri Apr 12 10:21:14 2019 83.221.204.163
NA NA NA
Re:[讨论]民进党真的很... Fri Apr 12 10:13:45 2019 1.114.43.176.110
Re:[新闻]哈佛演讲,韩... Fri Apr 12 10:10:18 2019 118.163.130.181
Re:[讨论]韩国瑜想选总... Fri Apr 12 10:03:14 2019 118.160.114.98
15.(10分)
承上题,我想要侦测
ipaddr这个网址资料是否正确,但又不想删除不符合的资料。如果侦
测到正确的网址,新产生的
ipok的变项便为
TRUE,反之为
FALSE。请问辨识网址是否正确
的regular expression要怎麽写(5分)?辨识是否合乎这段regular expression并产生
上述新变项的dplyr要如何写(5分)?
16.(5分)
你应如何逐步排除以下程式码的错误?你可以尝试说明可能的问题并解决之。
> comp(vec1)
Error in comp(vec1) : could not find function "comp"
17.(5分)
写出下列程式码的执行结果
pname <- c("pttid1111(kefan)", "pid2(hangfan)")
str_extract(pname, "\\w")
str_extract(pname, "\\w+")
str_extract(pname, "[A-Za-z0-9]+")
str_extract(pname, "[A-Za-z0-9]{8}")
str_extract(pname, "[A-Za-z0-9]{1,8}")
18.(5分)
作为老师经常要向初学者解释
install.packages("tidyr")与
library(tidyr),请尝试解
释这两个函式相较下分别在做什麽。
19.(5分)
尝试用JSON格式表述以下的表格中的资料
id name gender
A001 Alice F
A002 Bob M
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.255.209 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/NTU-Exam/M.1593357010.A.90A.html