小编Jot*_*ota的帖子

测量功能运行时完成功能的时间

我在R中运行一些功能,有时需要很长时间才能完成(从10分钟到4小时不等).具体来说,我使用的forward.lmer()是Rense Nieuwenhuis编写的函数(),可以在这里找到.我想知道R是否有任何方法告诉%完成操作.特别是,当操作已经运行超过一个小时,我想知道它的完成程度.

是否有一个通用函数可以让我知道任何给定函数的进度?我理想的是要知道是否有这样的函数:

percentComplete()
forward.lmer(inputs)
Run Code Online (Sandbox Code Playgroud)

那将告诉我有关完成该功能的接近程度如何?

我尝试的第一件事是使用library(time)并执行以下操作:

time<-getTime()
function(inputs)
timeReport(time)
Run Code Online (Sandbox Code Playgroud)

但这只是告诉我完成功能需要多长时间.有没有办法知道函数在运行时如何进展(完成百分比)?

此外,我希望提高此功能的效率,但这是另一个问题.谢谢大家!

optimization performance r

2
推荐指数
1
解决办法
371
查看次数

ggplot2 facet_wrap:仅使用每组中存在的x轴标签

我有以下数据集:

subj <- c(rep(11,3),rep(12,3),rep(14,3),rep(15,3),rep(17,3),rep(18,3),rep(20,3))
group <- c(rep("u",3),rep("t",6),rep("u",6),rep("t",6))
time <- rep(1:3,7)
mean <- c(0.7352941, 0.8059701, 0.8823529, 0.9264706, 0.9852941, 0.9558824, 0.7941176, 0.8676471, 0.7910448, 0.7058824, 0.8382353, 0.7941176, 0.9411765, 0.9558824, 0.9852941, 0.7647059, 0.8088235, 0.7968750, 0.8088235, 0.8500000, 0.8412698)
df <- data.frame(subj,group,time,mean)
df$subj <- as.factor(df$subj)
df$time <- as.factor(df$time)
Run Code Online (Sandbox Code Playgroud)

现在我用ggplot2创建一个条形图:

library(ggplot2)
qplot(x=subj, y=mean*100, fill=time, data=df, geom="bar",stat="identity",position="dodge") +
   facet_wrap(~ group)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何使其不显示每个方面中不存在的x轴标签?如何在每个subj之间获得相等的距离(即摆脱更大的间隙)?

plot r ggplot2 facet-wrap axis-labels

2
推荐指数
1
解决办法
2481
查看次数

根据R中另一个列表中的数字删除列表中的特定项目

我有两个列表,一个包含不同长度的字符值(dat),另一个列表在每个元素(delete_n)中有一个数字值.

dat <- list(c("Apple", "Pear"), c("Red", "Blue", "Green"), c("Toyota", "Mazda"))
delete_n <- list(0, 2, 1)
Run Code Online (Sandbox Code Playgroud)

"delete_n"中的元素与"dat"中的元素配对(delete_n [1]与dat [1]配对,依此类推)."delete_n"数字(0,2,1)告诉我每个元素中需要从每行末尾删除多少个特定列表项.

基于这个例子,我正在寻找一种解决方案,它将从dat [1]删除0项,从dat [2]删除"Blue"和"Green",从dat [3]删除"Mazda".

我首先尝试匹配元素编号,然后通过以下变体识别元素列表索引,但没有成功.mapply可能更合适,但我还不清楚如何编写function()部分.

lapply(seq_along(dat), function(x) {
    sapply(seq_along(delete_n), function(y) {
        x[y]
    })
})
Run Code Online (Sandbox Code Playgroud)

r list elements

2
推荐指数
1
解决办法
236
查看次数

ms-access 2007 .exe

我已经在ms-access 2007中创建了一个程序(内部程序).是否可以从access(.exe)创建独立程序?

ms-access ms-access-2007 ms-office

1
推荐指数
1
解决办法
1820
查看次数

VFPODBC非常慢

我正在使用MS Access 2003前端通过odbc访问由Visual Foxpro 9应用程序拥有的网络驱动器上的数据,而且它似乎速度令人难以置信 - 在一个特定的表中有大约1400条记录,并且它需要一个好的尽管在使用基本DBF查看器或表所属的应用程序时,加载Access接口的时间很短,但它是即时的.查询数据时,它比打开整个表视图更快,但仍然比我预期的要慢得多; 它访问的计算机位于同一网络上,目前通过应用程序访问的速度比网络托管的SQLServer慢,其上的记录数量是其上的10倍.

任何有关我可以尝试使用VFP ODBC链接来加速它并不明显的事情的建议将不胜感激.

编辑

谢谢Dave,目前,我正在玩一个试图让它在Access'查询选项卡中运行的查询...

查询现在需要大约4分钟才能运行..它返回一个包含10行信息的交叉表,基于大约230条记录的输入条件 - 我尝试过没有来自Group表的连接和字段,但速度差异可以忽略不计.

只是对它提出一些看法:

Allsales包含大约50个字段和15,000个记录Stock包含大约100个字段和500个记录组包含3个字段和8个记录.

SELECT allsales.type, allsales.branch, allsales.terminal, allsales.date, Sum(allsales.totalprice) AS SumOftotalprice, Sum(allsales.discamount) AS SumOfdiscamount, Sum(allsales.tender1) AS SumOftender1, Sum(allsales.tender2) AS SumOftender2, Sum(allsales.tender3) AS SumOftender3, Sum(allsales.tender4) AS SumOftender4, Sum(allsales.tender5) AS SumOftender5, Sum(allsales.tender6) AS SumOftender6, Sum(allsales.tender7) AS SumOftender7, Sum(allsales.tender8) AS SumOftender8, Sum(allsales.tender9) AS SumOftender9, Sum(allsales.tender10) AS SumOftender10, Sum(allsales.tender11) AS SumOftender11, Sum(allsales.tender12) AS SumOftender12, Sum(allsales.loypoints) AS SumOfloypoints, Count(allsales.type) AS Fuzz, groups.desc
FROM (stock RIGHT JOIN allsales ON stock.plu = allsales.plu) …
Run Code Online (Sandbox Code Playgroud)

ms-access odbc foxpro visual-foxpro

1
推荐指数
1
解决办法
985
查看次数

如何在没有NA的情况下计算中值?

我有这样的数据帧:

df
name    var1  var2  var3  var4  var5 ...
site1    10    20    12    5     ..
site2    15    NA    11    2     ..
site3    NA    11    21    1     ..
site4    9     18    NA    6     ..
Run Code Online (Sandbox Code Playgroud)

我使用此代码计算列的中位数.

apply(df[,c(2:4)], 2, median)
Run Code Online (Sandbox Code Playgroud)

但它为第2列到第4列提供NA,因为它们具有NA值.如何排除NA值并仍然从每列中的其余数据计算中位数?如果对子集使用na.rm = T,则将删除所有具有NA的行,这不是我想要的.谢谢你的帮助.

r

1
推荐指数
1
解决办法
8587
查看次数

在R中查找并替换整个值

我正在寻找一种方法来使用R中的find和replace函数来替换字符串的整个值,而不仅仅是字符串的匹配部分.我有一个包含很多(非常)长名称的数据集,我正在寻找一种有效的方法来查找和更改它们的值.

所以,例如,我试图改变整个字符串

string <- "Generally.speaking..do.you.prefer.to.try.out.new.experiences.like.trying.things.and.meeting.new.people..or.do.you.prefer.familiar.situations.and.faces."
Run Code Online (Sandbox Code Playgroud)

"exp"
Run Code Online (Sandbox Code Playgroud)

用这个代码

string <- gsub("experiences", "exp", string)
Run Code Online (Sandbox Code Playgroud)

但是,这会导致将"exp"替换为仅匹配"experience"的字符串部分,并使长名称的其余部分保持原样(为清晰起见加粗):

"Generally.speaking..do.you.prefer.to.try.out.new.EXP ..like.trying.things.and.meeting.new.people..or.do.you.prefer.familiar.situations. and.faces".

在这种情况下,因为字符串包含"经验",所以应该用"exp"替换.

有没有办法告诉gsub或其他一些函数来替换整个值?我看了很多教程,看起来函数只能在一个字符串或整个值中运行,但不是在两者之间运行.

regex replace r

1
推荐指数
1
解决办法
3900
查看次数

VB.NET 2010连接到ms访问数据库

有人可以告诉我如何将vb.net 2010连接到ms访问数据库以获取数据并将其显示在我正在做的vb.net应用程序中.我的项目是我正在使用vb.net进行字典应用,所以每次我在搜索框中添加新单词时,我希望vb.net从ms访问中获取定义并将其显示在应用程序中.

代码片段很棒或者教程

vb.net ms-access

0
推荐指数
1
解决办法
5万
查看次数

从KDB中的混合类型行中选择值

我们用类型C(即字符数组)定义了我们的KDB表.我们插入的第一个值有一个String类型.第二个值的类型为int(即i).现在,当我们尝试使用条件查询KDB时,where like="value"它不起作用.因为我们在一列中有混合类型,我们如何where根据此列查询数据并过滤它(在子句中使用)?

kdb q-lang

0
推荐指数
1
解决办法
745
查看次数

rowMeans包含共享字符串的所有列

我有一个像这样的大df(这只是它的一部分).对于每个样本(A,B,C等,我有数百个)我有3个值(R,H和L).

IDs R.A R.B R.C H.A H.B H.C L.A L.B L.C
A   6   5   4   5   5   5   5   1   4
B   2   5   3   3   4   3   5   5   6
C   6   6   3   2   2   1   4   1   3
D   2   1   6   3   5   3   3   6   5
E   4   1   3   2   3   1   4   4   4
F   3   1   1   1   4   4   2   6   4
Run Code Online (Sandbox Code Playgroud)

我想在rowMeans每个示例中创建一个新的df ,在本例中:

   IDs  mean.A  mean.B  mean.C
    A …
Run Code Online (Sandbox Code Playgroud)

string r

0
推荐指数
1
解决办法
74
查看次数