小编asj*_*son的帖子

在R中对因子中的2个级别进行分组

我有一列数据是A,B和C级别的因素,我有兴趣将这些级别中的两个组合成一个因子,所以它会变成A和B,B = B和C,或者可能是新的变量A和D,D = B和C.我可以通过使用if语句循环遍历列来提供大量方法来实现这一点,但我觉得应该有一个更优雅的方法,我想知道是否有人可以指出我正确的方向.

r

45
推荐指数
2
解决办法
6万
查看次数

VB.NET Excel程序在完成后使EXCEL.EXE浮动

我正在编写一个循环遍历Excel工作簿中所有工作表的程序,并将每个工作表保存为自己的工作簿.事实证明它比我想象的要复杂一些,因为该Sheet.Copy方法会创建一个奇怪的对象(请参阅此处的MSDN讨论,我相信这是相关的:http://msdn.microsoft.com/en-us/library/ms178779. aspx).

无论如何,我发现另一个Stack Overflow帖子让我到了我的位置,这基本上是完整的,在程序完成后留下的一个挂起的EXCEL.EXE进程之外(检查更新还有一个问题,但是我认为他们是相关的).

这是我的代码:

Imports System.Data
Imports System.IO
Imports Microsoft.Office.Interop
Imports Office = Microsoft.Office.Core
Imports xlNS = Microsoft.Office.Interop.Excel
Imports System.Runtime.InteropServices

Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    'Get information from text boxes
    Dim InputLocation As String
    Dim OutputLocation As String

    InputLocation = InputLoc.Text & "\" & FileName.Text

    If OutputLoc.Text = "" Then
        OutputLocation = InputLoc.Text
    Else
        OutputLocation = OutputLoc.Text
    End If

    'Make file to …
Run Code Online (Sandbox Code Playgroud)

.net vb.net excel

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

Excel中OLAP SSAS多维数据集数据透视表的替代方法

我使用Excel 2007数据透视表访问2005 SQL Server上的OLAP SSAS多维数据集,并发现刷新一些表大于10分钟.我的同事似乎认为这是一个悲伤的现实,但我想知道是否有其他我应该研究的选择.

我有一些想法:

显然,如果我可以升级服务器硬件,但我只是一个没有这种能力的分析师,所以我不认为硬件改进是一个很好的选择.迁移到更新的SQL服务器也是如此,我想这也会加速这个过程.

更新到更新版本的excel会加快这个过程吗?

我遇到了这个:http://olappivottableextend.codeplex.com/,它让我可以访问MDX,这显然是非常低效的(听起来像VBA的宏录音机给我),所以会改变MDX(我知道)一点点,它为数据透视表提供的查询似乎并不复杂)是一个选项吗?

是否可以选择在excel之外运行MDX?我可以编写查询,但我想它不会像数据透视表那样简单.

看起来OLAP Cubes在很多方面都是一个很好的解决方案,这些是一些处理相当多信息的大型数据透视表,但如果有一种合理的方法可以加快整个过程,我很想知道更多关于它的信息. .

谢谢你的想法.

sql-server excel mdx pivot-table

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

加速嵌套循环; 它可以被矢量化吗?

我试图匹配一些可能是一个相当大的数据集的数据,甚至在中等大小的数据集上它需要太长时间.

我正在执行的任务是解决机械问题,然后回溯6个月并查找程序问题(个别员工的失败).我首先在机器和位置匹配,所以我想用同一台机器匹配相同的地方.然后我要求程序错误出现在机械错误之前,因为它在将来.最后,我将它限制在180天以保持可比性.

在数据构建阶段,我限制机械问题以排除前6个月,因此我每个都有相同的180天块.

我已经阅读了很多关于优化循环的内容.我知道你想在循环之外创建一个存储变量,然后只是添加它,但我实际上并不知道它将返回多少匹配,所以最初我一直在循环中使用rbind.我知道存储变量的上限是机械问题的数量*程序问题的数量,但这是巨大的,我不能分配一个大的矢量.我在这里放置的代码有我最大的存储变量方法,但我想我必须回到这样的事情:

if (counter == 1) {
    pro = procedural[i, ]
    other = mechanical[j, ]
}
if (counter != 1) {
    pro = rbind(pro, procedural[i, ])
    other = rbind(other, mechanical[j, ])
}
Run Code Online (Sandbox Code Playgroud)

我也读了很多关于矢量化的内容,但我从来没有真正设法让它工作.我在矢量化方面尝试了一些不同的东西,但我认为我一定做错了.

我也尝试删除第二个循环并只使用which命令,但这似乎不适用于与单个值(来自机械数据)进行比较的完整数据列(来自过程数据).

这是我目前的代码.它适用于小型数据集,但对于任何远程大的数据,它都需要永远.

maxval = mechrow * prorow
pro = matrix(nrow = maxval, ncol = ncol(procedural))
other = matrix(nrow = maxval, ncol = ncol(procedural))
numprocissues = matrix(nrow = mechrow, ncol = 1)
counter = 1
for (j in 1:mechrow) {
    for (i in 1:prorow) {
        if …
Run Code Online (Sandbox Code Playgroud)

performance loops for-loop runtime r

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

将Excel范围导出为图像(VB.NET)

我有一个工作的excel vba宏,我从这里做我想要的,我正在尝试将其转换为VB.NET.

来自VBA的代码:

Sub bah()
''' Set Range you want to export to file
    Dim rgExp As Range: Set rgExp = Range("B2:C6")
    ''' Copy range as picture onto Clipboard
    rgExp.CopyPicture Appearance:=xlScreen, format:=xlBitmap
    ''' Create an empty chart with exact size of range copied
    With ActiveSheet.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, _
    Width:=rgExp.Width, Height:=rgExp.Height)
    .Name = "ChartVolumeMetricsDevEXPORT"
    .Activate
    End With
    ''' Paste into chart area, export to file, delete chart.
    ActiveChart.Paste
   ActiveSheet.ChartObjects("ChartVolumeMetricsDevEXPORT").Chart.Export "C:\Users\ajohnson\Desktop\workdamnit.jpg"
ActiveSheet.ChartObjects("ChartVolumeMetricsDevEXPORT").Delete
End Sub
Run Code Online (Sandbox Code Playgroud)

这样做是采用excel范围,然后将其放入图表中,该图表是范围的副本并将其另存为JPG.

这是我最近尝试制作VB.NET:

Dim xlApp As New Excel.Application …
Run Code Online (Sandbox Code Playgroud)

vb.net excel charts vba

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

标签 统计

excel ×3

r ×2

vb.net ×2

.net ×1

charts ×1

for-loop ×1

loops ×1

mdx ×1

performance ×1

pivot-table ×1

runtime ×1

sql-server ×1

vba ×1