作者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/m.aspx?n=bbs/NTU-Exam/M.1593357010.A.90A.html