table1[, 1] <- sapply(table1[, 1], function(x) { if (all(grepl("^\\d+(\\.\\d+)?$", x))) { as.numeric(x) } else { x } })
时间: 2023-12-06 18:05:30 浏览: 73
这段代码会将表格 table1 的第一列中的所有字符串转换成数字(如果可以被解释为数字的话),并且将转换后的结果重新赋值给第一列。具体来说,它使用了 sapply 函数将第一列中的每个元素都传递给一个匿名函数进行处理。这个匿名函数会首先使用正则表达式判断这个元素是否可以被解释为数字,如果可以,则使用 as.numeric 函数将其转换成数字并返回;否则,直接返回原始字符串。最终,sapply 函数会将所有处理后的结果拼接成一个向量,并将其赋值给 table1 的第一列。
相关问题
(1) 将 flights 和 airlines 进行连接,其中,最终结果应当保存flights 中的所有 观测值并且保存 airlines 中对应的观测值,并将结果命名为 flights_airlines (2) 选取 flights_airlines 中 name 中以”Inc.”结尾的观测值,并将选取出来的数 据框保存为新的flights_airlines (3) 对 flights_airlines 中 name 中元音字母的比重进行计算生成变量 prop_vowels, 并根据 prop_vowels 计算生成变量 vowel_gr,vowel_gr取 值为 1 如果 prop_vowels 大于等于 45%的,vowel_gr 取值为 2 如果 prop_vowels 低于 45%,然后统计 vowel_gr 每一组对应的观测值的数量。(提 示:元音指 aeiouAEIOU) (4) 在第 3 小问的基础上计算 vowel_gr 每一组里到达目的地机场的次数,并将每一 组前7的机场都显示出来。请用r语言帮我完成以上要求
好的,以下是R语言的代码实现:
```R
# 读取数据
flights <- read.csv("flights.csv")
airlines <- read.csv("airlines.csv")
# 将 flights 和 airlines 进行连接
flights_airlines <- merge(flights, airlines, by = "carrier", all.x = TRUE)
# 选取 name 中以”Inc.”结尾的观测值
flights_airlines <- subset(flights_airlines, grepl("Inc.$", name))
# 对 name 中元音字母的比重进行计算生成变量 prop_vowels
vowels <- c('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')
flights_airlines$prop_vowels <- sapply(strsplit(flights_airlines$name, ""), function(x) sum(x %in% vowels) / length(x))
# 根据 prop_vowels 计算生成变量 vowel_gr
flights_airlines$vowel_gr <- ifelse(flights_airlines$prop_vowels >= 0.45, 1, 2)
# 统计 vowel_gr 每一组对应的观测值的数量
vowel_gr_count <- table(flights_airlines$vowel_gr)
# 计算 vowel_gr 每一组里到达目的地机场的次数
vowel_gr_dest_count <- aggregate(dest ~ vowel_gr, data = flights_airlines, FUN = function(x) length(x))
# 将每一组前7的机场都显示出来
vowel_gr_dest_top7 <- by(flights_airlines$dest, flights_airlines$vowel_gr, function(x) head(sort(table(x), decreasing = TRUE), 7))
```
在这段代码中,我们首先使用 read.csv() 函数读取了两个数据文件,然后使用 merge() 函数将两个数据集按照 carrier 列进行连接。接着,我们使用 grepl() 函数选取了 name 中以”Inc.”结尾的观测值,并使用 sapply() 函数计算了 prop_vowels 变量。然后,我们使用 ifelse() 函数根据 prop_vowels 计算了 vowel_gr 变量,并使用 table() 函数统计了 vowel_gr 每一组对应的观测值的数量。最后,我们又使用了 aggregate() 函数计算了 vowel_gr 每一组里到达目的地机场的次数,并使用 by() 函数将每一组前7的机场都显示出来。
阅读全文
相关推荐













