我正在考虑将R脚本转换为C代码,以加快速度,并将其打包为.exe.我是C的新手.
我的问题是它会在C中明显加快吗?速率限制步骤是一种必须在大向量上应用很多次的排序算法.我不确定R中的矢量化功能是否会对此有所帮助或减慢速度.另外我读过在R中for循环效率低下.
如果我应该在C中执行此操作,哪些库可以帮助我模仿R的一些数据处理功能,如基本矩阵操作?我应该从哪里开始?现在我甚至不知道如何将我的数据读入C(逗号分隔的文本文件).
我的NSLog应用程序中有很多- 其中一些通常会打印大量数据 - 即搜索结果.这会对我的应用程序的速度产生明显的影响吗?
我不熟悉宏 - 有人能够建议启用/禁用所有NSLog的吗?
有没有办法将条件作为参数传递?例如:
#g is some data'
getIndexesWhen <- function (colname, condition) {
a <- as.vector(g[,colname])
a <- which(a fits condition)
}
Run Code Online (Sandbox Code Playgroud)
然后能够传递条件本身,例如调用类似的东西getIndexesWhen('GDP','> 435').或者我是否需要为每种情况分别设置函数,例如=,!=,>,<等等?
所以,这与标准的梦幻足球有点不同.我所拥有的是球员名单,他们的平均"每场比赛得分"(PPG)和他们的薪水.我想在我的球队没有超过工资帽的限制下最大化每场比赛得分.一个团队由1个QB,1个TE,3个WR和2个RB组成.所以,如果我们有15个每个位置,我们有15X15 X(15 c 3)X(15 c 2)= 10749375个可能的团队.
漂亮的计算复杂.我可以使用一些分支和绑定,即一旦团队超过工资帽我可以修剪树,但即使这样算法仍然很慢.我尝试了另一个选项,我使用了一个"遗传算法",即制作了10个随机团队,选择了最好的一个团队并"突变"它(随机改变一些玩家)进入另外10个团队,然后选择那些然后通过一堆循环直到"最佳阵容"的每场比赛停止变得更好的时间.
必须有更好的方法来做到这一点.我不是计算机科学家,我只参加过算法学的入门课程.程序员 - 你有什么想法?我觉得动态编程的某种应用可能会有所帮助.
谢谢
所以我一直在尝试将这个特殊的.mat文件读入R.我不太了解matlab,但我知道R.matlab包只能将未压缩的数据读入R,并将其保存为未压缩我需要通过使用在matlab中保存它
save new.mat -v6.
好吧,所以我这样做了,但是当我readMat("new.mat")在R中使用时,它只是被卡住了永远.我也尝试过使用包hdf5:
> hdf5load("new.mat", load=FALSE)->g
Error in hdf5load("new.mat", load = FALSE) :
can't handle hdf type 201331051
Run Code Online (Sandbox Code Playgroud)
我不确定这个问题是什么,但如果有人想要弄清楚这个问题,那么该文件位于http://dibernardo.tigem.it/MANTRA/MANTRA_online/Matlab_Code%26Data.html ,称为库存. mat(第一个文件).
谢谢你的帮助!
我一直在阅读矢量化功能的重要性,所以希望有人可以帮助我.
假设我有一个包含两列的数据框:名称和ID.现在我还有另一个带有名称和出生地的数据框,但是这个数据框比第一个数据框大得多,并且包含第一个数据框中的一些但不是全部的名称.如何将第三列添加到使用第二个表查找的出生地填充的第一个表中.
我现在拥有的是:
corresponding.birthplaces <- sapply(table1$Name,
function(name){return(table2$Birthplace[table2$Name==name])})
Run Code Online (Sandbox Code Playgroud)
这似乎效率低下.思考?有没有人知道使用R'正确'的好书/资源.我感觉我通常以可计算的最低效计算方式思考.
谢谢 :)
说我有两列名字.第一列中的所有名称都在第二列中,但是以随机顺序排列,其中一些名称不是完美匹配.所以也许在一列中有John Smith这个名字以及第二个John_smith或JonSmith.是否有任何相当简单的R方式来执行"最佳匹配"?
嘿,所以我希望进行过滤搜索,以便输入两个搜索字母,相应的结果将显示在列表视图中.我无法像jqm listview一样加载整个列表,因为它太大了.有人可以告诉我如何做到这一点......它有点超出了我对API的理解范围.
我知道如何使用自动完成小部件进行jquery,但我希望将结果格式化为listview.所以一个文本框,然后在它下面的listview格式化结果,但只有在输入两个字母之后我才会喜欢它来显示结果,这样它就不会显示一个巨大的列表,这需要花费很长时间才能加载.
我在R的矩阵中的每个条目i,j是一个得分和rownames和colnames是IDS.
取而代之的是矩阵的我只是想有一个3列矩阵:i,j,score
现在我正在使用嵌套for循环.喜欢:
for(i in rownames(g))
{
print(which(rownames(g)==i))
for(j in colnames(g))
{
cur.vector<-c(cur.ref, i, j, g[rownames(g) %in% i,colnames(g) %in% j])
rbind(new.file,cur.vector)->new.file
}
}
Run Code Online (Sandbox Code Playgroud)
但是我觉得这样效率非常低......我确信有一个更好的方法我还不够R.思考?
我不断收到此错误:
“AVPlayerItem 一次只能占据玩家队列中的一个位置。”
我对玩家的物品进行了 NSLog 记录,但似乎没有一个是相同的。此外,我添加这一点只是为了确定:
if([player canInsertItem:itemToAdd afterItem:nil])
[player insertItem:itemToAdd afterItem:nil];
Run Code Online (Sandbox Code Playgroud)
当我不确定这是否可行(可以在不同的内存位置有两个相同的项目)时,我编写了一个类别方法来测试玩家是否包含一个项目或与其相同的东西。然而,我仍然收到错误。
我见过很多帖子,有人在使用 MPMoviePlayerController 时遇到此错误,但我没有使用该自定义类,只是使用开箱即用的 AVQueuePlayer。
有想法该怎么解决这个吗?
r ×7
cocoa-touch ×2
ios ×2
objective-c ×2
avplayer ×1
c ×1
jquery ×1
listview ×1
mat-file ×1
matlab ×1
matlab-load ×1
matrix ×1