r - R中的足球数据-使用if语句检查元素中是否缺少属性?
问题描述
直接说情况:
我正在处理足球跟踪数据,我有一个事件列表,每个元素都记录了比赛的不同情况。我对所做的传球很感兴趣。我有 for 循环遍历列表并让我为特定团队提供每一次通行证。
for (p in 1:length(uruguay.passes)){
uruguay.pass.temp <- all.events[[uruguay.passes[p]]]
possession <- uruguay.pass.temp$possession
passer <- uruguay.pass.temp$player$id
.
.
body.part <- uruguay.pass.temp$pass$body_part$name
问题来了:有时 passer 或其他属性的数据会丢失,并且会弄乱整行。 这是一个屏幕截图。
问题来了:我如何编写一个 if 语句来检查元素中是否存在特定属性(即 Passer)以及是否不存在以用 NA 填充列?
谢谢大家!
解决方案
经过一番修补,我到了那里,不确定这是性能优化程度最高的版本,但它完成了工作。
代码是:
body.part <- if("body_part" %in% names(uruguay.pass.temp$pass)){uruguay.pass.temp$pass$body_part$name}else{NA}
推荐阅读
- excel - 如何在使用宏删除前导空格后激活由公式组成的单元格
- jenkins - 如何从詹金斯管道中的另一个构建恢复工作区?
- android - 调用注入函数需要直接依赖函数依赖项?
- winbugs - 无法设置监视器,Winbugs 错误。我该如何解决?
- python - 第二次运行 PyQT5 应用程序不起作用
- javascript - 过滤谓词函数第一次没有返回任何东西 MatTableDataSource 角度 7
- qt - 在嵌入式设备上运行 QtWebEngine 失败
- python - 基于另一个表中的多个列在一个表中创建一个列[python]
- android - Android Studio - 没有更多文件 - 构建时出错
- c - 递归计算二叉树高度的原理是什么?