小编beh*_*has的帖子

如何获取R中输入文件的绝对路径

我正在使用Rscript绘制某个目录中给定CSV文件中的一些数字,这不一定是我当前的工作目录.我可以这样称呼它:

./script.r ../some_directory/inputfile.csv
Run Code Online (Sandbox Code Playgroud)

现在我想在同一目录(../some_directory)中输出我的数字,但我不知道该怎么做.我试图获取输入文件的绝对路径,因为从这里我可以构造输出路径,但我无法找到如何做到这一点.

r

34
推荐指数
3
解决办法
3万
查看次数

测量命令行调用的执行时间

我正在编写一个Ruby 1.9.2脚本来评估不同外部命令行调用的执行时间.

我使用ruby Process.system方法执行命令行调用,并尝试捕获执行时间,如下所示:

start = Time.now
system("./script1", "argX")

puts "Duration: #{Time.now - start} seconds"
Run Code Online (Sandbox Code Playgroud)

现在我遇到的问题是持续时间不反映外部进程的执行时间,而是"系统"调用的执行时间.

知道如何衡量外部流程的执行时间吗?

ruby

11
推荐指数
3
解决办法
9903
查看次数

将strsplit应用于data.frame中的特定列

我有一个包含分类信息的大型数据框.这是一个例子:

> d <- data.frame(x = c(1,2,3,4), classification = c("cl1.scl1", "cl2", "cl3-bla", "cl4.subclass2"))
> d
  x classification
1 1       cl1.scl1
2 2            cl2
3 3        cl3-bla
4 4  cl4.subclass2
Run Code Online (Sandbox Code Playgroud)

在进行任何进一步处理之前,我需要聚合分类信息,这意味着我必须将分类字符串拆分为".".并采取第一个令牌.这是我需要的结果:

> d
  x classification
1 1            cl1
2 2            cl2
3 3        cl3-bla
4 4            cl4
Run Code Online (Sandbox Code Playgroud)

目前我正在计算如下:

d$classification = unlist(lapply(d$classification, function (x) strsplit(as.character(x), ".", fixed=TRUE)[[1]][1]))
Run Code Online (Sandbox Code Playgroud)

这很有效,但我花了很长时间来弄明白这一点.我假设有一个更优雅的解决方案,我可能错过了.有什么建议?谢谢!

r

10
推荐指数
2
解决办法
7784
查看次数

将多个数据帧合并为一个扩展帧

我有一个数据帧列表,其中每个帧包含单个系统的相同类型的测量.例如,

$system1                           
                file    cumSize     cumloadTime     query1
1  ../data/data1.dat    100000      158.1000        0.4333333
2  ../data/data2.dat    200000      394.9000        0.5000000
3  ../data/data3.dat    250000      561.8667        0.6666667

$system2                           
                file    cumSize     cumloadTime     query1
1  ../data/data1.dat    100000      120.1000        0.4333333
2  ../data/data2.dat    200000      244.9000        0.4500000
3  ../data/data3.dat    250000      261.8667        0.2666667
Run Code Online (Sandbox Code Playgroud)

现在,我想使用matplot命令在单独的图中显示这些数据框的几个方面.因此,我需要将上面的输入数据结构转换为以下输出结构:

$cumloadTime

cumSize     system1     system2
100000      158.1000    120.1000
200000      394.9000    244.9000
250000      561.8667    261.8667

$query1

cumSize     system1     system2
100000      0.4333333   0.4333333
200000      0.5000000   0.4500000
250000      0.6666667   0.2666667
Run Code Online (Sandbox Code Playgroud)

我玩了重塑,合并融合功能,但尚未找到解决方案.

谢谢你的任何提示......

r

9
推荐指数
2
解决办法
2449
查看次数

ddply聚合列名

我使用ddply来聚合我的数据,但没有找到一种优雅的方法来将列名分配给输出数据框.

目前我这样做:

agg_data <- ddply(raw_data, .(id, date, classification), nrow)
names(agg_data)[4] <- "no_entries"
Run Code Online (Sandbox Code Playgroud)

还有这个

agg_data <- ddply(agg_data, .(classification, date), colwise(mean, .(no_entries)) )
names(agg_data)[3] <- "avg_no_entries"
Run Code Online (Sandbox Code Playgroud)

有没有更好,更优雅的方式来做到这一点?

r plyr

9
推荐指数
2
解决办法
3533
查看次数

计算多个数据帧的平均值

我想用R来绘制不同数据库系统的性能评估结果.对于每个系统,我加载了相同的数据,并在几次迭代中执行相同的查询.

单个系统的数据如下所示:

"iteration", "lines", "loadTime", "query1", "query2", "query3"
1, 100000, 120.4, 0.5, 6.4, 1.2
1, 100000, 110.1, 0.1, 5.2, 2.1
1, 50000, 130.3, 0.2, 4.3, 2.2

2, 100000, 120.4, 0.1, 2.4, 1.2
2, 100000, 300.2, 0.2, 4.5, 1.4
2, 50000, 235.3, 0.4, 4.2, 0.5

3, 100000, 233.5, 0.7, 8.3, 6.7
3, 100000, 300.1, 0.9, 0.5, 4.4
3, 50000, 100.2, 0.4, 9.2, 1.2
Run Code Online (Sandbox Code Playgroud)

我现在需要的(用于绘图)是包含这些测量的平均值的矩阵或数据帧.

目前我这样做:

# read the file
all_results <- read.csv(file="file.csv", head=TRUE, sep=",")

# split the results by iteration
results …
Run Code Online (Sandbox Code Playgroud)

r

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

大数据框架中的高效字符串值计数

我有一个大型数据帧(~600K行)和一个字符串值列(链接)

doc_id,link
1,http://example.com
1,http://example.com
2,http://test1.net
2,http://test2.net
2,http://test5.net
3,http://test1.net
3,http://example.com
4,http://test5.net
Run Code Online (Sandbox Code Playgroud)

我想计算帧中某个字符串值出现的次数.结果应如下所示:

link, count
http://example.com, 3
http://test1.net, 2
http://test2.net, 1
http://test5.net, 2
Run Code Online (Sandbox Code Playgroud)

在R中有一种有效的方法吗?由于帧大小,将帧转换为矩阵不起作用.目前我正在使用plyr包,但这太慢了.

r plyr

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

d3js v4:将节点添加到强制导向图

我想在d3js v4中渲染一个力导向图,并提供一个动态添加新节点和链接到模拟的函数.我的第一次尝试(见下文)仍有一些重大问题:

  • 添加链接后,力模拟似乎已忽略现有节点和链接
  • 模拟节点和链接及其SVG对应物之间的绑定以某种方式不起作用

我想我知道所有的例子(例如,[1 ,2] )证明了V3类似的功能,但我想用V4做到这一点.

谢谢你的帮助!

的index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>D3 Test</title>
        <script type="text/javascript" src="js/d3.js"></script>
        <script type="text/javascript" src="js/graph.js"></script>
        <style type="text/css">
            .links line {
                stroke: #aaa;
            }

            .nodes circle {
              pointer-events: all;
              stroke: none;
              stroke-width: 40px;
            }
        </style>
    </head>
    <body>
        <div class="chart-container" style="max-width: 1000px;"></div>

        <button class="expand">Expand graph</button>

        <script type="text/javascript">
            //sample graph dataset
            var graph = {
                "nodes": [
                    {"id": "A"},
                    {"id": "B"},
                    {"id": "C"},
                    {"id": "D"},
                    {"id": …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js force-layout d3v4

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

红宝石正则表达挂起

我编写了一个ruby脚本来处理大量文档,并使用以下URI从文档的字符串表示中提取URI:

#Taken from: http://daringfireball.net/2010/07/improved_regex_for_matching_urls
URI_REGEX = /
(                           # Capture 1: entire matched URL
  (?:
    [a-z][\w-]+:                # URL protocol and colon
    (?:
      \/{1,3}                        # 1-3 slashes
      |                             #   or
      [a-z0-9%]                     # Single letter or digit or '%'
    )
    |                           #   or
    www\d{0,3}[.]               # "www.", "www1.", "www2." … "www999."
    |                           #   or
    [a-z0-9.\-]+[.][a-z]{2,4}\/  # looks like domain name followed by a slash
  )
  (?:                           # One or more:
    [^\s()<>]+                      # Run of non-space, non-()&lt;&gt;
    |                               #   or
    \(([^\s()<>]+|(\([^\s()<>]+\)))*\)  # balanced parens, …
Run Code Online (Sandbox Code Playgroud)

ruby regex

3
推荐指数
2
解决办法
716
查看次数

融化数据框和分割值

我有以下数据框,测量连接成一个列,由一些分隔符分隔:

df <- data.frame(v1=c(1,2), v2=c("a;b;c", "d;e;f"))
df
     v1 v2
  1  1  a;b;c
  2  2  d;e;f;g
Run Code Online (Sandbox Code Playgroud)

我想将其融化/转换为以下格式:

     v1 v2
  1  1  a
  2  1  b
  3  1  c
  4  2  d
  5  2  e
  6  2  f
  7  2  g
Run Code Online (Sandbox Code Playgroud)

有优雅的解决方案吗?

谢谢!

r

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

维持拆分 - 应用 - 组合问题的顺序

可能重复:
如何ddply()没有排序?

我有以下数据框架

dd1 = data.frame(cond = c("D","A","C","B","A","B","D","C"), val = c(11,7,9,4,3,0,5,2))
dd1
  cond val
1    D  11
2    A   7
3    C   9
4    B   4
5    A   3
6    B   0
7    D   5
8    C   2
Run Code Online (Sandbox Code Playgroud)

现在需要计算关于cond中因子水平的累积总和.结果应如下所示:

> dd2 = data.frame(cond = c("D","A","C","B","A","B","D","C"), val = c(11,7,9,4,3,0,5,2), cumsum=c(11,7,9,4,10,4,16,11))
> dd2
  cond val cumsum
1    D  11     11
2    A   7      7
3    C   9      9
4    B   4      4
5    A   3     10
6    B   0      4
7    D …
Run Code Online (Sandbox Code Playgroud)

r plyr

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

使用ruby脚本删除并重新创建MySQL数据库

有没有办法从ruby脚本中删除并重新创建数据库?我应该使用哪个gem(dbi,mysql2)?

使用DBI我遇到的问题是,当尚未创建数据库时,我无法连接到MySQL服务器.

谢谢

ruby mysql

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

标签 统计

r ×8

plyr ×3

ruby ×3

d3.js ×1

d3v4 ×1

force-layout ×1

javascript ×1

mysql ×1

regex ×1