我在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)
但这只是告诉我完成功能需要多长时间.有没有办法知道函数在运行时如何进展(完成百分比)?
此外,我希望提高此功能的效率,但这是另一个问题.谢谢大家!
我有以下数据集:
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之间获得相等的距离(即摆脱更大的间隙)?
我有两个列表,一个包含不同长度的字符值(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) 我已经在ms-access 2007中创建了一个程序(内部程序).是否可以从access(.exe)创建独立程序?
我正在使用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) 我有这样的数据帧:
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中的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或其他一些函数来替换整个值?我看了很多教程,看起来函数只能在一个字符串或整个值中运行,但不是在两者之间运行.
有人可以告诉我如何将vb.net 2010连接到ms访问数据库以获取数据并将其显示在我正在做的vb.net应用程序中.我的项目是我正在使用vb.net进行字典应用,所以每次我在搜索框中添加新单词时,我希望vb.net从ms访问中获取定义并将其显示在应用程序中.
代码片段很棒或者教程
我们用类型C(即字符数组)定义了我们的KDB表.我们插入的第一个值有一个String类型.第二个值的类型为int(即i).现在,当我们尝试使用条件查询KDB时,where like="value"它不起作用.因为我们在一列中有混合类型,我们如何where根据此列查询数据并过滤它(在子句中使用)?
我有一个像这样的大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) r ×6
ms-access ×3
axis-labels ×1
elements ×1
facet-wrap ×1
foxpro ×1
ggplot2 ×1
kdb ×1
list ×1
ms-office ×1
odbc ×1
optimization ×1
performance ×1
plot ×1
q-lang ×1
regex ×1
replace ×1
string ×1
vb.net ×1