r - 如何根据 R 中的标准查找数据和打印值?
问题描述
所以我有一个包含 12 列数据的 csv 文件,我想要做的是根据所需的标准从 CSV 文件中获取特定值
提供了数据的片段,所以我有这个地图列表:
Maps <- c("Nuke","Vertigo","Inferno","Mirage","Train","Overpass","Dust2")
目标是获取 Map 列表中每个映射的 CTWinProb 和 TWinProb 值,例如 CTWinProbs;
核弹 = 0.5758
灰尘2 = 0.4965
地狱= 0.4885
等,反之亦然 TWinProb
到目前为止,我一直在使用非常乏味的 sqldf 库,这就是我目前正在做的事情:
T1NukeCT <- sqldf("select CTWinProb from Team1 where MapName like '%Nuke%'")
输出 T1NukeCT = 0.5758
并为每个 Map 重复,然后再为 TWinProb
我确信有一种更简单的方法,只是对使用 R 很新,所以我不是 100% 了解这里的最佳方法,或者如何以一种不那么乏味的方式去做
解决方案
你可以使用一个WHERE IN (...)
子句:
Maps <- c("Nuke","Vertigo","Inferno","Mirage","Train","Overpass","Dust2")
where_in <- paste0("('", paste(Maps, collapse="','"), "')")
sql <- paste0("SELECT CTWinProb FROM Team1 WHERE MapName IN ", where_in)
T1NukeCT <- sqldf(sql)
需要明确的是,上述脚本生成的 SQL 查询为:
SELECT CTWinProb
FROM Team1
WHERE MapName IN ('Nuke','Vertigo','Inferno','Mirage','Train','Overpass','Dust2')
推荐阅读
- python - Anaconda Python 的 shebang 是什么?
- bash - 我应该如何使用 linux `find` 命令搜索一组文件?
- c - “C中的参数”的定义是什么
- linux - mmap 文件上的 fallocate 会减少内存消耗吗?
- python-3.x - 如何使用 for 循环读取多个 pandas 数据帧
- python - 使用`savefig`时在PDF中缺少`matplotlib.imshow`插入的图像
- sql-server - 如何获取sql server中的数据组合?
- windows - 使用 GCloud Compute Windows 实例作为 git 远程服务器
- php - Apache 将 PHP 数组标记作为结束标记处理
- android - 以编程方式在 ActionBar 上设置 app:contentInsetStartWithNavigation