首页 > 解决方案 > R如何在一个表达式中推断变量是数据还是向量?

问题描述

我正在做一个在线 R 数据科学课程(dataquest)。在其中,我被要求对有关 2014 年足球世界杯的数据框执行功能。每一行都是一个单独的游戏。我被要求创建一个函数,该函数获取每场比赛的进球数并返回一个向量,其中每个数据是比赛中总进球数的百分比。代码(和经过认证的正确答案如下)

goals_percen <- function(x){
    x/sum(x)*100
}

home_goals_percentage <- goals_percen(scores$home_goals)
away_goals_percentage <- goals_percen(scores$away_goals)

在 python 中,我必须写一些类似的东西

def goals_percen(series):
    total = sum(series)
    result = []
    for i in series:
        result.append(i/total)

或使用熊猫的一些等效代码.apply()

我的问题是解释器如何解析表达式x/sum(x)?为了使函数起作用,它必须将第一个x视为单个数据(或观察),并将xinsum(x)视为整个向量。

标签: rfunctionvectordata-science

解决方案


推荐阅读