程序设计

专业和发烧友程序员的问答

3
data.table vs dplyr:一个人可以做得很好,另一个人不能做得不好吗?
总览 我相对熟悉data.table,而不是那么熟悉dplyr。我已经阅读了一些出现在SO上的dplyr插图和示例,到目前为止,我的结论是: data.table且dplyr速度可比,除非有很多(即> 10-100K)组,并且在某些其他情况下(请参见下面的基准) dplyr 具有更多可访问的语法 dplyr 抽象(或将)潜在的数据库交互 功能上有一些细微的差异(请参见下面的“示例/用法”) 我认为2.不太重要,因为我相当熟悉它data.table,尽管我知道这对新手和老手来说都是一个很大的因素。我想避免争论哪个更直观,因为从我已经熟悉的人的角度来看,这与我提出的具体问题无关data.table。我还想避免讨论“更直观”如何导致更快的分析(当然是正确的,但又不是我对此最感兴趣的内容)。 题 我想知道的是: 对于熟悉软件包的人来说,是否有分析任务更容易用一个或另一个软件包编写代码(即,要求的击键与要求的深奥程度的某种组合,每个击键都是一件好事)。 在一个程序包中,是否有比其他程序更有效地执行分析任务(即大于2倍)? 最近的一个SO问题使我对这个问题进行了更多的思考,因为到那时为止,我认为dplyr提供的功能超出了我已经可以做得到的范围data.table。这是dplyr解决方案(Q末的数据): dat %.% group_by(name, job) %.% filter(job != "Boss" | year == min(year)) %.% mutate(cumu_job2 = cumsum(job2)) 这比我尝试破解data.table解决方案要好得多。也就是说,好的data.table解决方案也相当不错(感谢Jean-Robert,Arun,并请注意,在这里,我赞成使用单一语句而不是严格的最佳解决方案): setDT(dat)[, .SD[job != "Boss" | year == min(year)][, cumjob := cumsum(job2)], by=list(id, job) ] 后者的语法可能看起来很深奥,但是如果您习惯了data.table(例如,不使用一些更深奥的技巧),它实际上非常简单。 理想情况下,我希望看到的是一些很好的示例,它们的方式dplyr或data.table方法实质上更简洁,或性能更好。 例子 用法 …
758 r  data.table  dplyr 

25
如何终止在Linux中特定端口上运行的进程?
我试图使用./shutdown.shtomcat /bin目录关闭tomcat 。但是发现服务器没有正确关闭。因此,我无法重新启动。tomcat在port上运行8080。 我想杀死正在运行的tomcat进程8080。我首先要具有在特定端口(8080)上运行的进程的列表,以便选择要杀死的进程。
757 linux  unix  port  kill-process 





9
如何在Python中检查文件大小?
我在Windows中编写Python脚本。我想根据文件大小做一些事情。例如,如果大小大于0,我将向某人发送电子邮件,否则继续其他操作。 如何检查文件大小?
756 python  file 

14
Xcode进程启动失败:安全性
我现在已经开发了一个或两个星期的应用程序,就在昨天,我已经将iPhone 5S更新为iOS 8 GM。一切正常,我也可以在设备上进行测试,直到我从手机上删除了该应用程序并想重新构建。出现以下错误: Could not launch "My App" process launch failed: Security 当我使用模拟器进行测试时,它可以正常工作。这是因为iOS 8 GM更新,如何解决此启动问题?我希望能够在我的iPhone和模拟器上进行测试。
756 ios  xcode  process  build 


19
获取(可能)关联数组中的第一个键?
在可能的关联数组中确定第一个键的最佳方法是什么?我首先想到的是,它只存储数组,然后立即破坏它,如下所示: foreach ($an_array as $key => $val) break; 因此,让$ key包含第一个键,但这似乎效率很低。有谁有更好的解决方案?
756 php  arrays 

11
最好以JSON形式将文件和关联数据发布到RESTful WebService
这可能是一个愚蠢的问题,但我有一个夜晚。在一个应用程序中,我正在开发RESTful API,我们希望客户端将数据作为JSON发送。此应用程序的一部分要求客户端上载文件(通常是图像)以及有关该图像的信息。 我很难跟踪单个请求中的情况。是否可以将文件数据Base64转换为JSON字符串?我需要在服务器上执行2个帖子吗?我不应该为此使用JSON吗? 附带说明一下,我们在后端使用Grails,并且本机移动客户端(iPhone,Android等)可以访问这些服务(如果有区别的话)。
756 json  rest  grails  file-upload 

15
Haskell入门
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 几天来,我一直试图围绕Haskell的函数式编程范例。我通过阅读教程和观看截屏视频来做到这一点,但似乎没有任何坚持。现在,在学习各种命令式/ OO语言(例如C,Java,PHP)时,练习已经成为我的理想选择。但是由于我真的不知道Haskell的功能,并且因为要使用许多新概念,所以我不知道从哪里开始。 那么,您是如何学习Haskell的?是什么让您真正“破冰”?另外,对于开始练习有什么好主意吗?

2
当正好遍历8192个元素时,为什么我的程序运行缓慢?
这是有问题的程序的摘录。矩阵img[][]的大小为SIZE×SIZE,并初始化为: img[j][i] = 2 * j + i 然后,创建一个矩阵res[][],并将此处的每个字段作为img矩阵中周围9个字段的平均值。为简单起见,边框保留为0。 for(i=1;i<SIZE-1;i++) for(j=1;j<SIZE-1;j++) { res[j][i]=0; for(k=-1;k<2;k++) for(l=-1;l<2;l++) res[j][i] += img[j+l][i+k]; res[j][i] /= 9; } 这就是程序的全部内容。为了完整起见,这是之前的内容。之后没有代码。如您所见,这只是初始化。 #define SIZE 8192 float img[SIZE][SIZE]; // input image float res[SIZE][SIZE]; //result of mean filter int i,j,k,l; for(i=0;i<SIZE;i++) for(j=0;j<SIZE;j++) img[j][i] = (2*j+i)%8196; 基本上,当SIZE为2048的倍数时,该程序运行缓慢,例如执行时间: SIZE = 8191: 3.44 secs …


14
Git中的HEAD ^和HEAD〜有什么区别?
当我在Git中指定祖先提交对象时,我在HEAD^和之间感到困惑HEAD~。 两者都有一个“编号”版本,例如HEAD^3和HEAD~2。 在我看来,它们看起来非常相似或相同,但是波浪号和插入符号之间是否有任何区别?
755 git 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.