Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当顺序重要时,如何在r中进行两次排序_R - Fatal编程技术网

当顺序重要时,如何在r中进行两次排序

当顺序重要时,如何在r中进行两次排序,r,R,我有一个由三个变量组成的数据框架,分别是动量收益率(数值)、波动率(因子)和市场状态(因子)。波动性和市场状态都有两个层次。波动性有高和低两个级别。市场状态有一个名为“正”和“负”的级别,我想制作一个两排序的表。我要的是每种情况下的平均动量回报 library(wakefield) mom<-rnorm(30) vol<-r_sample_factor(30,x=c("high","low")) mar_state<-r_sample_factor(30,x=c("positi

我有一个由三个变量组成的数据框架,分别是动量收益率(数值)、波动率(因子)和市场状态(因子)。波动性和市场状态都有两个层次。波动性有高和低两个级别。市场状态有一个名为“正”和“负”的级别,我想制作一个两排序的表。我要的是每种情况下的平均动量回报

library(wakefield)
mom<-rnorm(30)
vol<-r_sample_factor(30,x=c("high","low"))
mar_state<-r_sample_factor(30,x=c("positive","negtive"))
df<-data.frame(mom,vol,mar)
库(wakefield)

mom根据@r2evans给出的建议,如果您想要每个排序案例的平均值,可以应用以下代码

xtabs(mom~vol+mar,aggregate(mom~vol+mar,data=df,mean))
## If you want simple sum in every case
xtabs(mom~vol+mar,data=df)


您也可以在data.table包的帮助下执行此操作。这种方法将在更短的时间内完成相同的任务

library(data.table)
df<-as.data.table(df)
## if you want results in data frame format
df[,.(mean(mom)),by=.(vol,mar)]
## if you want in simple vector form
df[,mean(mom),by=vol,mar]
库(data.table)

降价?DOCX还是PPTX?HTML?这是R降价还是别的什么?你能分享样本数据吗?如果没有样本数据,这个问题有点弱。@r2evans我已经添加了样本数据。
r\u sample\u factor
未找到,请列出所有相关的非基本包,使这个问题可重复。另外,您没有回答我的问题:您的预期输出的格式是什么?(我会加上“到控制台”,以防你在R中需要它。)@r2evans对此表示抱歉,先生。我已经添加了libraryjeetkamal,我已经尝试过帮助,但是你没有回答我的问题,所以我假设你想要R控制台上的东西。虽然上面的示例表中有八个值,但没有解释如何获得它们,但它的组织结构与
xtabs(mom~vol+mar,data=df)
提供的类似。(而且
xtabs
是交叉列表的数据,而不是像这样的列数据。)祝你好运,我希望这是一个足够好的开始。我需要的是每个case@jeetkamal请参阅如何使用Rhanks制作可复制的示例。这是更合适的说法