由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Quant版 - data grouping, sub-grouping by column variable in R (转载)
相关主题
问两道题SQL combine two columns from two different tables no shared (转载)
How to write this query in Oracle?面试题目,Stochastic calculus求教
问个C++的问题【stat】quant题目
请教一道面试题啊!关于SQL的!来,讨论个问题。
如何在c++里存储lattice一 monte carlo simulation 问题请教
data clustering by vector correlation distance (转载)[合集] WorldQuant phone interview
Predict values of vectors generated by black box functions[合集] 继续作贡献,一道积分题。
two vectors' coefficient of determination (转载)a small c++ question
相关话题的讨论汇总
话题: var1话题: var2话题: grouping话题: data话题: 498455
进入Quant版参与讨论
1 (共1页)
l******9
发帖数: 579
1
【 以下文字转载自 Statistics 讨论区 】
发信人: light009 (light009), 信区: Statistics
标 题: data grouping, sub-grouping by column variable in R
发信站: BBS 未名空间站 (Wed Feb 26 13:25:43 2014, 美东)
I am working on data collection by R on Win7.
The given data is:
var1 var2 value
I need to do grouping by var1 and then for each var1 , do grouping by var2.
Then, the output is column vectors of values that are associated with the
same var1 and var2. Here, var1 and var2 are like keys.
Example,
var1 var2 value
1 56 649578
2 17 357835
1 88 572397
2 90 357289
1 56 427352
2 17 498455
1 88 354623
2 90 678658
The result should be
var1 var2 value
1 56 649578
1 56 427352
1 88 354623
1 88 572397
2 17 357835
2 17 498455
2 90 357289
2 90 678658
And, I need to print the values in a csv file as
For var 1 as 1:
649578 354623
427352 572397
For var 1 as 2:
357835 357289
498455 678658
And, I also need to print the values in a csv file as
For var 1 = 1:
1 56 649578
1 56 427352
1 88 354623
1 88 572397
For var1 = 2:
2 17 357835
2 17 498455
2 90 357289
2 90 678658
How to do it ?
I found some posts, which are not directly useful.
Any help would be appreciated.
w**********y
发帖数: 1691
2
setwd("C:")
(data <- data.frame(var1=rep(1:2,4), var2=sample(1:100,8), value = rnorm(8)))
(data <- data[with(data,order(var1,var2)),])
level.var1 <- unique(data$var1)
for (v in level.var1){
subdata <- data[data$var1==v,]
write.csv(subdata, paste0("format2",v,".csv"), row.names=F)
write.table(matrix(subdata$value,,2), paste0("format1",v,".csv"), row.
names=F, col.names=F, sep=',')
}
Baozi pls
k***g
发帖数: 7244
3
R 君其实不适合干这种力气活 ……
Q 君的话,lz的一个要求其实就是一行 code:
t:([] var1:n?2;var2:n?100;val:(n:8)?1.0);
`var1`var2 xasc `t;
{(-1!`$(string x),"f1.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;()]}
each v:distinct t`var1
{(-1!`$(string x),"f2.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;{x!x}()
,`val]} each v
K 君的话会更简单……

)))

【在 w**********y 的大作中提到】
: setwd("C:")
: (data <- data.frame(var1=rep(1:2,4), var2=sample(1:100,8), value = rnorm(8)))
: (data <- data[with(data,order(var1,var2)),])
: level.var1 <- unique(data$var1)
: for (v in level.var1){
: subdata <- data[data$var1==v,]
: write.csv(subdata, paste0("format2",v,".csv"), row.names=F)
: write.table(matrix(subdata$value,,2), paste0("format1",v,".csv"), row.
: names=F, col.names=F, sep=',')
: }

d*j
发帖数: 13780
4
K君说 “小Q, 5分钟我要一个结果, 不用给我看code” 回头说 "R, 收拾一下,出口在
那边"

()

【在 k***g 的大作中提到】
: R 君其实不适合干这种力气活 ……
: Q 君的话,lz的一个要求其实就是一行 code:
: t:([] var1:n?2;var2:n?100;val:(n:8)?1.0);
: `var1`var2 xasc `t;
: {(-1!`$(string x),"f1.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;()]}
: each v:distinct t`var1
: {(-1!`$(string x),"f2.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;{x!x}()
: ,`val]} each v
: K 君的话会更简单……
:

o*******6
发帖数: 6113
5
干这种力气活可以考虑PL/SQL

()

【在 k***g 的大作中提到】
: R 君其实不适合干这种力气活 ……
: Q 君的话,lz的一个要求其实就是一行 code:
: t:([] var1:n?2;var2:n?100;val:(n:8)?1.0);
: `var1`var2 xasc `t;
: {(-1!`$(string x),"f1.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;()]}
: each v:distinct t`var1
: {(-1!`$(string x),"f2.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;{x!x}()
: ,`val]} each v
: K 君的话会更简单……
:

w**********y
发帖数: 1691
6
如果你非要一行,做法也很多,比如:
ddply(data, ~ var1, function(x) write.csv(x, file=paste0(x$var1[[1]],".csv")
))
量体裁衣。给个1万行的data和1亿行的data当然该有不同的选择

()

【在 k***g 的大作中提到】
: R 君其实不适合干这种力气活 ……
: Q 君的话,lz的一个要求其实就是一行 code:
: t:([] var1:n?2;var2:n?100;val:(n:8)?1.0);
: `var1`var2 xasc `t;
: {(-1!`$(string x),"f1.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;()]}
: each v:distinct t`var1
: {(-1!`$(string x),"f2.csv") 0:.h.tx[`csv;]?[`t;enlist (=;`var1;x);0b;{x!x}()
: ,`val]} each v
: K 君的话会更简单……
:

k***g
发帖数: 7244
7
你这个 call plyr library了。。。
只用K基本函数的做法:
{{.[-1!`$($x),".csv";();:;y]}[x;]","0:?[`t;,(=;`var1;x);0b;()]}'?t`var1
所有函数都只有一个字符。。。
我觉得K肯定会比R快上百倍吧,回头可以测试一下

")

【在 w**********y 的大作中提到】
: 如果你非要一行,做法也很多,比如:
: ddply(data, ~ var1, function(x) write.csv(x, file=paste0(x$var1[[1]],".csv")
: ))
: 量体裁衣。给个1万行的data和1亿行的data当然该有不同的选择
:
: ()

w**********y
发帖数: 1691
8
其实也可以了:
apply(data, 1, function(x) write.table(t(x), paste0(x[1],'.csv'),sep=',',
append=T, col.names=F, row.names=F))
不过赞高手, 精通各种语言啊

【在 k***g 的大作中提到】
: 你这个 call plyr library了。。。
: 只用K基本函数的做法:
: {{.[-1!`$($x),".csv";();:;y]}[x;]","0:?[`t;,(=;`var1;x);0b;()]}'?t`var1
: 所有函数都只有一个字符。。。
: 我觉得K肯定会比R快上百倍吧,回头可以测试一下
:
: ")

k***g
发帖数: 7244
9
我也是R的拥趸,不过高频 data除了Q/K似乎没有更好的统计/数据库工具了,一些
trading firms好像有他们自己的 column-oriented的数据库,但是不知道具体的
performance怎么样。

【在 w**********y 的大作中提到】
: 其实也可以了:
: apply(data, 1, function(x) write.table(t(x), paste0(x[1],'.csv'),sep=',',
: append=T, col.names=F, row.names=F))
: 不过赞高手, 精通各种语言啊

1 (共1页)
进入Quant版参与讨论
相关主题
a small c++ question如何在c++里存储lattice
EXCEL VBA in real worlddata clustering by vector correlation distance (转载)
问一个期望值的问题Predict values of vectors generated by black box functions
A hedge fund interview questions (CS)two vectors' coefficient of determination (转载)
问两道题SQL combine two columns from two different tables no shared (转载)
How to write this query in Oracle?面试题目,Stochastic calculus求教
问个C++的问题【stat】quant题目
请教一道面试题啊!关于SQL的!来,讨论个问题。
相关话题的讨论汇总
话题: var1话题: var2话题: grouping话题: data话题: 498455