我在R中遇到了很大的性能问题.我编写了一个迭代data.frame
对象的函数.它只是添加一个新列data.frame
并积累一些东西.(操作简单).将data.frame
有大约850K行.我的电脑仍在工作(现在大约10小时),我不知道运行时间.
dayloop2 <- function(temp){
for (i in 1:nrow(temp)){
temp[i,10] <- i
if (i > 1) {
if ((temp[i,6] == temp[i-1,6]) & (temp[i,3] == temp[i-1,3])) {
temp[i,10] <- temp[i,9] + temp[i-1,10]
} else {
temp[i,10] <- temp[i,9]
}
} else {
temp[i,10] <- temp[i,9]
}
}
names(temp)[names(temp) == "V10"] <- "Kumm."
return(temp)
}
Run Code Online (Sandbox Code Playgroud)
有什么想法如何加快这个操作?
我有以下数据帧:
uniq <- structure(list(year = c(1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, …
Run Code Online (Sandbox Code Playgroud) 我对R来说相当新,但越多使用它,我就越发现它对SAS或SPSS的影响有多大.正如我所看到的,其中一个主要好处是能够从网络获取和分析数据.我想这是可能的(甚至可能是直截了当的),但我希望解析网上公开的JSON数据.我不是一个程序员,所以你能提供的任何帮助和指导将不胜感激.即使你给我一个基本的工作示例,我也许可以解决它.
我知道循环很慢R
,我应该尝试以矢量化的方式做事.
但为什么?为什么循环缓慢且apply
速度快?apply
调用几个子功能 - 这似乎不快.
更新:对不起,这个问题不合适.我混淆了矢量化apply
.我的问题应该是,
"为什么矢量化更快?"
我还在学习如何将SAS代码翻译成R,然后收到警告.我需要了解我犯错误的地方.我想要做的是创建一个变量来总结和区分人口的3种状态:大陆,海外,外国人.我有一个包含2个变量的数据库:
idnat
法国人,外国人),如果idnat
是法国人那么:
idbp
大陆,殖民地,海外)我想从汇总信息idnat
,并idbp
进入一个所谓的新变量idnat2
:
所有这些变量都使用"字符类型".
列idnat2中预期的结果:
idnat idbp idnat2
1 french mainland mainland
2 french colony overseas
3 french overseas overseas
4 foreign foreign foreign
Run Code Online (Sandbox Code Playgroud)
这是我要在R中翻译的SAS代码:
if idnat = "french" then do;
if idbp in ("overseas","colony") then idnat2 = "overseas";
else idnat2 = "mainland";
end;
else idnat2 = "foreigner";
run;
Run Code Online (Sandbox Code Playgroud)
这是我在R中的尝试:
if(idnat=="french"){
idnat2 <- "mainland"
} else if(idbp=="overseas"|idbp=="colony"){
idnat2 <- "overseas"
} else {
idnat2 <- …
Run Code Online (Sandbox Code Playgroud) 有没有办法在重新启动HaProxy服务之前验证HaProxy haproxy.cfg文件?例如:较大的haproxy.cfg文件中可能存在小的拼写/语法错误.我搜索了几个论坛,但无法找到与验证haproxy.cfg文件有关语法错误的任何内容.
截至目前,我在将更改上载到Production Server之前,在开发人员计算机上使用了试错法.
提前致谢..
什么是一个func
与返回类型Never
呢?
例如:
func addNums() -> Never {
//my code
}
Run Code Online (Sandbox Code Playgroud)
如果我Void
像这样保留返回类型会有什么区别?
func addNums() -> Void {
//my code
}
Run Code Online (Sandbox Code Playgroud)
假设我想处理fatalError
(如dpassage所说); 以下代码就足够了:
print("its an error")
return
Run Code Online (Sandbox Code Playgroud)
Apple文档说:
不正常返回的函数的返回类型,即没有值的类型.
资料来源:开发商
这不是一个重复的问题,在Swift中何时以及如何使用@noreturn属性?,我希望得到更详细的答案,需要以下细节:
关于两者Never
和Void
返回类型之间差异的实际例子
我们应该采用这些回报类型的条件.
返回类型也有可能为零; 我也需要对这个功能进行比较
答案应该集中在差异上.
至于正常的api调用,它将能够使用Charles等网络调试代理进行跟踪.
因此,加密数据和下行数据以避免相同的情况.
但是,当我检查一些应用程序时,它也隐藏了api的URL.如何在iOS中实现相同.
例:
注意:还通过在手机中添加ssl证书进行检查.它仍然没有显示.