微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R中的足球数据-使用if语句检查元素中缺少的属性吗?

如何解决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

问题来了: 有时,传递者或其他属性的数据会丢失,并弄乱了整行。 Here is a screenshot.

这里是一个问题: 如何编写if语句来检查该特定属性(即Passer)是否存在于元素中,以及是否不存在,以用NA填充列?

谢谢大家!

解决方法

经过一番修补后,我不确定这是性能最优化的版本,但是可以完成工作。

代码是:

body.part <- if("body_part" %in% names(uruguay.pass.temp$pass)){uruguay.pass.temp$pass$body_part$name}else{NA}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。