R语言编程技巧与数据处理实践

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])+$

43、为以下单词创建11个正则表达式,以匹配英式或美式拼写:airplane/aeroplane、aluminum/aluminium、analog/analogue、ass/arse、center/centre、defense/defence、donut/doughnut、gray/grey、modeling/modelling、skeptic/sceptic、summarize/summarise。尽量使正则表达式最短!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值