我正在使用Rscript绘制某个目录中给定CSV文件中的一些数字,这不一定是我当前的工作目录.我可以这样称呼它:
./script.r ../some_directory/inputfile.csv
Run Code Online (Sandbox Code Playgroud)
现在我想在同一目录(../some_directory)中输出我的数字,但我不知道该怎么做.我试图获取输入文件的绝对路径,因为从这里我可以构造输出路径,但我无法找到如何做到这一点.
我正在编写一个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)
现在我遇到的问题是持续时间不反映外部进程的执行时间,而是"系统"调用的执行时间.
知道如何衡量外部流程的执行时间吗?
我有一个包含分类信息的大型数据框.这是一个例子:
> 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)
这很有效,但我花了很长时间来弄明白这一点.我假设有一个更优雅的解决方案,我可能错过了.有什么建议?谢谢!
我有一个数据帧列表,其中每个帧包含单个系统的相同类型的测量.例如,
$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)
我玩了重塑,合并和融合功能,但尚未找到解决方案.
谢谢你的任何提示......
我使用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来绘制不同数据库系统的性能评估结果.对于每个系统,我加载了相同的数据,并在几次迭代中执行相同的查询.
单个系统的数据如下所示:
"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) 我有一个大型数据帧(~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包,但这太慢了.
我想在d3js v4中渲染一个力导向图,并提供一个动态添加新节点和链接到模拟的函数.我的第一次尝试(见下文)仍有一些重大问题:
我想我知道所有的例子(例如,[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) 我编写了一个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-()<>
| # or
\(([^\s()<>]+|(\([^\s()<>]+\)))*\) # balanced parens, …Run Code Online (Sandbox Code Playgroud) 我有以下数据框,测量连接成一个列,由一些分隔符分隔:
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)
有优雅的解决方案吗?
谢谢!
可能重复:
如何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) 有没有办法从ruby脚本中删除并重新创建数据库?我应该使用哪个gem(dbi,mysql2)?
使用DBI我遇到的问题是,当尚未创建数据库时,我无法连接到MySQL服务器.
谢谢