34、给定一个日期向量,如 x <- c(“Monday”, “Saturday”, “Wednesday”),使用 ifelse() 语句将它们标记为周末或工作日。
可以使用以下代码实现:
x <- c("Monday", "Saturday", "Wednesday")
ifelse(x %in% c("Saturday", "Sunday"), "weekends", "weekdays")
35、使用 ifelse()
函数计算名为 x
的数值向量的绝对值。
可以使用 ifelse(x < 0, -x, x)
来计算数值向量 x
的绝对值,其中 x < 0
是条件,当条件为 TRUE
时返回 -x
,为 FALSE
时返回 x
。
36、将以下 count() 调用展开,改为使用 group_by()、summarize() 和 arrange():a. flights |> count(dest, sort = TRUE) b. flights |> count(tailnum, wt = distance)
a. `flights |> group_by(dest) |> summarize(n = n()) |> arrange(desc(n))`
b. `flights |> group_by(tailnum) |> summarize(miles = sum(distance))`
37、如果你想尽可能避免航班延误,应该选择一天中的什么时间飞行?
可以选择在每小时的 20 - 30 分钟 和 50 - 60 分钟 时段飞行,这些时段航班延误情况比该小时内其他时段少。
38、创建包含以下值的字符串:a. 他说:“太神奇了!” b. acd c. \
a. '他说:“太神奇了!”' 或 "他说:“太神奇了!”"(考虑到字符串中有双引号,推荐使用单引号包裹字符串)
b. "acd"
c. "\\"
39、将以下表达式在 str_c()
和 str_glue()
之间进行转换:a. str_c("The price of ", food, " is ", price)
;b. str_glue("I'm {age} years old and live in {country}")
;c. str_c("\section{", title, "}")
- a.
str_glue("The price of {food} is {price}")
- b.
str_c("I'm ", age, " years old and live in ", country)
- c.
str_glue("\section{ { {title}}}")
40、如何匹配字面字符串“’\”?那“$^$”呢?
要匹配字面字符串 '\
,由于在正则表达式中 \
需要转义,在字符串中 \
也需要转义,所以需要四个反斜杠,即 '\\
;要匹配 $^$
,因为 $
和 ^
是元字符,需要对它们进行转义,所以正则表达式为 \$\\^\\$
,在字符串中表示为 "$\\^\\$"
。
41、解释为什么正则表达式中这些模式都无法匹配反斜杠:”",”\“,”\"
在正则表达式里,反斜杠是转义字符。一个反斜杠( \
)是转义字符的起始,不能单独作为匹配字符。两个反斜杠( \\
)中第一个是转义用,第二个才代表普通反斜杠,但在正则里它是要匹配普通反斜杠,而不是代表匹配反斜杠的转义序列。三个反斜杠( \\
)同样无法正确匹配,因为正则解析时会混乱,不能把它当作匹配单个反斜杠的有效模式。要匹配单个反斜杠,需四个反斜杠( \\\\
),前两个转义成一个普通反斜杠,用于正则里表示匹配反斜杠的转义序列。
42、给定一个常用单词语料库,创建正则表达式来查找满足以下条件的所有单词:a. 以“y”开头。b. 不以“y”开头。c. 以“x”结尾。d. 正好三个字母长。(不要使用 str_length() 作弊!)e. 有七个或更多字母。f. 包含一个元音 - 辅音对。g. 连续包含至少两个元音 - 辅音对。h. 仅由重复的元音 - 辅音对组成。
以下是对给定文本内容的 Markdown格式化版本 ,未改变原始内容:
a. ^y.*
b. ^[^y].*
c. .*x$
d. ^...$
e. ^.{7,}$
f. [aeiou][^aeiou]
g. ([aeiou][^aeiou]){2,}
h. ^([aeiou][^aeiou])+$