小编Ale*_* A.的帖子

行绑定Julia数据帧

如何将一个数据框附加到另一个数据框,类似于SQL union或R rbind

假设我有数据框AB定义如下.

A = DataFrame(x = [1, 2, 3], y = [4, 5, 6])
B = DataFrame(x = [4, 5, 6], y = [7, 8, 9])
Run Code Online (Sandbox Code Playgroud)

解决这个问题的一种方法如下:

C = deepcopy(A)

for i = 1:size(B, 1)
    push!(C, Array(B[i,:]))
end
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但对我来说感觉有些神奇.有没有更好或更惯用的方法来做到这一点?

append dataframe julia

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

在Julia中查看用户定义的变量

也许这是我在文档中忽略的内容,但是如何在Julia中查看当前定义的变量列表?例如,在R中,您可以使用ls()它来为您提供当前范围中的用户定义对象的列表.朱莉娅有同等的人吗?

这与此问题非常相似,但似乎whos函数(以及names)将列出模块和其他非用户定义的内容.如何简单列出用户定义但不从其他模块导出的变量?

julia

8
推荐指数
2
解决办法
527
查看次数

重量为R的直方图

我需要绘制密度而不是频率的加权直方图.我知道这freq = FALSE是可用的,hist()但你不能指定权重.在ggplot2我能做到这一点:

library(ggplot2)
w <- seq(1,1000)
w <-w/sum(w)
v <- sort(runif(1000))

foo <- data.frame(v, w)

ggplot(foo, aes(v, weight = w)) + geom_histogram()
Run Code Online (Sandbox Code Playgroud)

但在哪里相当于freq = FALSE

r histogram ggplot2

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

访问公式测试块中的下载文件

我正在为包含自己的测试套件的C库创建一个Homebrew公式.作为test公式块的一部分,我想运行下载文件中包含的测试.测试作为make目标(make test)运行.但是,Homebrew test块在自己的临时目录中运行,下载的文件不在路径中.也就是说,以下不起作用,因为它找不到文件:

test do
  system "make", "test"
end
Run Code Online (Sandbox Code Playgroud)

如何访问最初下载和解压缩文件的位置?我无法在文档中找到有关该信息的任何信息.或者在这种情况下是否有更好的Homebrew测试解决方案?

ruby homebrew

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

FINDSTR和跳过文件夹

我是Windows批处理编程和Stack Overflow的新手,所以如果我问你那些经验丰富,才华横溢的人,那么请原谅我.我正在使用Windows批处理(.bat)来查找包含某个字符串的文件findstr.但是,我试图跳过目录中的某些文件夹.

setlocal EnableDelayedExpansion
set basedir=C:\folder

for /f %%g in ('dir /a:-h /b %basedir% ^| findstr /v "Projects" ^| findstr /v "Archive"') do (
    findstr /i /m /s /c:"request" %basedir%\%%g *.* > %basedir%\Projects\list.txt
)
Run Code Online (Sandbox Code Playgroud)

当我查看list.txt中的文件输出时findstr,我发现我告诉它不要搜索的文件夹被搜索到了.也就是说,输出看起来像这样:

C:\folder\somefile.rtf
C:\folder\Requests\anotherfile.rtf
C:\folder\Projects\dontsearchme.txt
C:\folder\Archive\dontsearchmeeither.txt
C:\folder\Archive\Projects\dontsearchme.txt
Run Code Online (Sandbox Code Playgroud)

如果它工作正常,只有C:\folder\somefile.rtfC:\folder\Requests\anotherfile.rtf将被列入LIST.TXT.为了测试循环代码,我使用了以下代码:

setlocal EnableDelayedExpansion
set basedir=C:\folder

for /f %%g in ('dir /a:-h /b %basedir% ^| findstr /v "Projects" ^| findstr /v "Archive"') do (
    echo %basedir%\%%g
)
Run Code Online (Sandbox Code Playgroud)

该代码按预期工作; 它会跳过"项目"和"存档"文件夹.我认为问题与我如何打电话有关,findstr但我无法确定我的方式错误.任何见解都将非常感谢!

非常感谢!
-Alex

windows batch-file findstr

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

从概念上讲,“模拟”功能是如何工作的?

如果我的问题看起来真的很简单或天真,我提前道歉,但我试图从概念上理解该函数的作用simulate(即,我对它的逻辑感兴趣,无论它是否适用于 lm、lme 等) .)

假设我正在对以下数据进行简单的多元回归:

n <- 40

x1 <- rnorm(n, mean=3, sd=1)

x2 <- rnorm(n, mean=4, sd=1.25)

y <- 2*x1 + 3*x2 + rnorm(n, mean=2, sd=1)

mydata <- data.frame(x1, x2, y)

mod <- lm(y ~ x1 + x2, data=mydata)
Run Code Online (Sandbox Code Playgroud)

当该函数simulate应用于这种情况时会做什么?所以如果我这样做:

simulate(mod, nsim=2)
Run Code Online (Sandbox Code Playgroud)

我得到的两个向量是什么?

本质上,它类似于这样做:

replicate(2, y + rnorm(n=length(y), mean="some value", sd="some other value"))
Run Code Online (Sandbox Code Playgroud)

如果类似这样的逻辑,那么“某个值”和“某个其他值”会是什么?他们会是mean(mod$residuals)sd(mod$residuals)吗?或者实际残差的排列?或者完全是别的什么?

或者它正在做一些完全不同的事情?

如果有人能用simulate简单的非技术术语解释/确认如何工作,我们将不胜感激。

r simulate

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

复制C#DataTable并将所有值转换为字符串

我有一个DataTable不同类型的列.我想要的是DataTable具有相同列名但所有值都是字符串的.也就是说,如果这是第一个:

Name   Age
-----------
John   31
Alice  27
Marge  45
Run Code Online (Sandbox Code Playgroud)

其中Name是一String列,Age是一Int32列,我想要的是:

Name   Age
-----------
John   31
Alice  27
Marge  45
Run Code Online (Sandbox Code Playgroud)

其中,姓名和年龄是两个字符串列.输出表必须包含与输入表相同的值,但每个值都必须转换为字符串.任何人都可以提供有关如何做到这一点的任何见解吗?我想过可能会做类似的事情

foreach (DataColumn col in inputTable.Columns)
{
    outputTable.Columns.Add(col.ColumnName, typeof(string));

    foreach (DataRow row in inputTable.Rows)
    {
        ...??
    }
}
Run Code Online (Sandbox Code Playgroud)

或者可能有更好或更有效的方法?任何指导将不胜感激.

c# string type-conversion system.data.datatable

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

SASHELP视图与SQL字典表的性能

为什么SAS使用(例如)sashelp.vcolumn与等效的SQL表格相比,从数据步骤视图创建数据集需要更长的时间dictionary.columns

我做了一个测试fullstimer,似乎证实了我对性能差异的怀疑.

option fullstimer;

data test1;
    set sashelp.vcolumn;
    where libname = 'SASHELP' and
        memname = 'CLASS' and
        memtype = 'DATA';
run;

proc sql;
    create table test2 as
    select *
    from dictionary.columns
    where libname = 'SASHELP' and
        memname = 'CLASS' and
        memtype = 'DATA';
quit;
Run Code Online (Sandbox Code Playgroud)

日志的摘录:

NOTE: There were 5 observations read from the data set SASHELP.VCOLUMN.
      WHERE (libname='SASHELP') and (memname='CLASS') and (memtype='DATA');
NOTE: The data set WORK.TEST1 has 5 observations and 18 variables.
NOTE: …
Run Code Online (Sandbox Code Playgroud)

performance sas

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

Python维护列表交集的顺序

我有一个列表A和列表B,我想从这两个列表中获取公共元素,但希望当我获取公共元素时,它们应该保持 List 的顺序A

首先,我开始将它们转换为集合并取交叉点,但这存在维护顺序的问题。

common = list(set(A).intersection(set(B)))
Run Code Online (Sandbox Code Playgroud)

所以我决定做列表理解:

common = [i for i in A if i in B]
Run Code Online (Sandbox Code Playgroud)

我正进入(状态

IndexError: too many indices for array
Run Code Online (Sandbox Code Playgroud)

python list

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

在 Julia 中将 Dict 转换为 DataFrame

假设我有Dict如下定义:

x = Dict{AbstractString,Array{Integer,1}}("A" => [1,2,3], "B" => [4,5,6])
Run Code Online (Sandbox Code Playgroud)

我想将其转换为DataFrame对象(来自DataFrames模块)。构造 aDataFrame的语法与构造字典类似。例如,上面的字典可以手动构建为一个数据框,如下所示:

DataFrame(A = [1,2,3], B = [4,5,6])
Run Code Online (Sandbox Code Playgroud)

我还没有找到从字典到数据框的直接方法,但我认为可以利用句法相似性并编写一个宏来做到这一点。以下根本不起作用,但它说明了我想到的方法:

macro dict_to_df(x)
    typeof(eval(x)) <: Dict || throw(ArgumentError("Expected Dict"))
    return quote
        DataFrame(
            for k in keys(eval(x))
                @eval ($k) = $(eval(x)[$k])
            end
        )
    end
end
Run Code Online (Sandbox Code Playgroud)

我还尝试将其编写为一个函数,当所有字典值具有相同的长度时,它确实有效:

function dict_to_df(x::Dict)
    s = "DataFrame("
    for k in keys(x)
        v = x[k]
        if typeof(v) <: AbstractString
            v = string('"', v, '"')
        end
        s *= "$(k) = $(v),"
    end
    s = …
Run Code Online (Sandbox Code Playgroud)

macros dictionary type-conversion dataframe julia

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