r - 在R中查找每个列表中的最后一个数字是偶数还是奇数
问题描述
如何确定列表中的最终数字是偶数还是奇数,然后将该行放入数据框中。
我有多个以奇数或偶数“圈数”结尾的 csv 文件(即下面的 #17 和 26)
Total time 10:00.61
Lap times
01 00:07.46
02 00:05.64
03 00:01.07
04 00:01.04
05 00:04.71
06 00:06.43
07 00:12.52
08 00:07.34
09 00:05.46
10 00:05.81
11 00:05.52
12 00:06.51
13 00:10.75
14 00:00.83
15 00:03.64
16 00:02.75
17 00:01.20
还有这个...
Total time 10:00.61
Lap times
01 00:07.46
02 00:05.64
03 00:01.07
04 00:01.04
05 00:04.71
06 00:06.43
07 00:12.52
08 00:07.34
09 00:05.46
10 00:05.81
11 00:05.52
12 00:06.51
13 00:10.75
14 00:00.83
15 00:03.64
16 00:02.75
17 00:01.20
18 00:06.17
19 00:04.40
20 00:00.75
21 00:00.84
22 00:01.29
23 00:02.31
24 00:03.04
25 00:02.85
26 00:05.86
我使用这个循环来浏览 csv 文件
output = lapply(files, function(x) {
dat = read.csv(x, header= TRUE)
dat = dat[-c(1),]
dat = as.data.frame(dat)
dat = separate(data = dat, col = dat, into = c("lap", "duration"), sep =
"\\ ")
})
然后输出看起来像这样
[[1]]
lap duration
1 01 00:07.46
2 02 00:05.64
3 03 00:01.07
4 04 00:01.04
5 05 00:04.71
6 06 00:06.43
7 07 00:12.52
8 08 00:07.34
9 09 00:05.46
10 10 00:05.81
11 11 00:05.52
12 12 00:06.51
13 13 00:10.75
14 14 00:00.83
15 15 00:03.64
16 16 00:02.75
17 17 00:01.20
[[2]]
lap duration
1 01 00:07.46
2 02 00:05.64
3 03 00:01.07
4 04 00:01.04
5 05 00:04.71
6 06 00:06.43
7 07 00:12.52
8 08 00:07.34
9 09 00:05.46
10 10 00:05.81
11 11 00:05.52
12 12 00:06.51
13 13 00:10.75
14 14 00:00.83
15 15 00:03.64
16 16 00:02.75
17 17 00:01.20
18 18 00:06.17
19 19 00:04.40
20 20 00:00.75
21 21 00:00.84
22 22 00:01.29
23 23 00:02.31
24 24 00:03.04
25 25 00:02.85
26 26 00:05.86
如何查看最后一行是偶数还是奇数(即分别为第 17 行和第 26 行)?然后我可能想把最后几行放到一个单独的数据框中。
解决方案
首先,您可以使您的阅读过程变得更加简单。
output <- lapply(files, read.csv, skip = 1)
现在,对于奇数/偶数行。
n <- sapply(output, nrow)
ifelse(n %% 2 == 0, "even", "odd")
请注意,代替字符值"even"
,"odd"
您可以ifelse
返回任何您选择的内容。
推荐阅读
- excel - Excel 用户窗体导致文件出现问题/损坏,文件在 Visual Basic 的“项目资源管理器”中多次出现
- java - 将一系列时间戳与 JPA 的 Query by Example 匹配
- sql - 如何在两个查询结果之间执行逻辑与
- azure-devops - 我想将工件部署或复制到 azure app 服务的 wwwroot 内的子文件夹
- java - 有没有办法使用 keyclocks 细粒度权限来实现角色切换?
- python - 为什么 ZeroMQ 多部分发送/接收错误消息?
- reactjs - useCallback - 防止无限循环
- node.js - 无法使用 MariaDB、pool.query 和 Express 进行批量更新
- reactjs - 仅从 neo4j 数据库中获取值
- android - 无法安装cordova-android@10.0.0