我正在尝试编写一个包含2个参数的函数:列名和排名编号。该功能将读取包含来自每个州的医院的CSV文件。该函数应返回具有指定等级的医院名称的数据框。
我的解决方案是按状态拆分主CSV文件,按所需列排序每个数据帧,遍历每个状态的数据框,抓取行(行号=等级号),将每个州的医院名称存入一个向量,然后使用循环中的向量创建一个数据帧。
当我在控制台中测试我的功能的每个部分时,我能够收到我需要的结果。但是,当我完全运行该功能时,它不会根据需要存储医院名称。
这就是我所拥有的:
public static function getSubscribedServices(): array
{
$services = parent::getSubscribedServices();
$services['fos_elastica.manager'] = RepositoryManagerInterface::class;
$services['knp_paginator'] = PaginatorInterface::class;
return $services;
}
private function listHandler(Search $search, Request $request, int $page): Response
{
//...
$repository = $this->container->get('fos_elastica.manager')->getRepository(Foo::class);
//...
}
当我完全运行该功能时,我在“医院”栏中收到NA,但是当我单独运行该功能的每个部分时,我能够收到所需的医院名称。我有点困惑为什么我能够在函数之外运行此函数的每个单独部分并返回我想要的结果,但不是当我作为一个整体运行函数时。谢谢。
答案 0 :(得分:0)
这个问题与在Coursera的约翰霍普金斯大学R编程课程中的编程作业3有关。因此,我们无法提供代码的“更正版本”,因为这样做会违反Coursera Honor代码。
使用默认设置运行时,rankall()
函数的实现失败,因为在提取运算符中使用num
时,没有["best",2]
行。如果您将代码作为head(rankall("heart attack",1))
运行,则会生成以下输出。
> head(rankall("heart attack",1))
hospital state
1 PROVIDENCE ALASKA MEDICAL CENTER AK
2 CRESTWOOD MEDICAL CENTER AL
3 ARKANSAS HEART HOSPITAL AR
4 MAYO CLINIC HOSPITAL AZ
5 GLENDALE ADVENTIST MEDICAL CENTER CA
6 ST MARYS HOSPITAL AND MEDICAL CENTER CO
要完全纠正您的功能,您需要进行以下更改。
outcome
列对数据进行排序:心脏病发作,心力衰竭或肺炎num
参数