我必须做一个费舍尔测试来比较纳斯达克和纽约证券交易所的一些股票之间的方差。我有一个关于纳斯达克股票回报的专栏,另一个关于纽约证交所股票的专栏是这样的:
NasdaqStocks NyseStocks Nasdaq Nyse
1 5 nasdaq nyse
2 6 nasdaq nyse
3 7 nasdaq nyse
4 8 nasdaq nyse我需要这样的东西
Returns Market
1 nasdaq
2 nasdaq
3 nasdaq
4 nasdaq
5 nyse
6 nyse
7 nyse
8 nyse
9 nyse发布于 2019-06-21 10:48:28
如果只有4列,我们可以对它们执行unlist操作并创建一个新的数据帧
data.frame(Returns = unlist(df[1:2]), Market = unlist(df[3:4]), row.names = NULL)
# Returns Market
#1 1 nasdaq
#2 2 nasdaq
#3 3 nasdaq
#4 4 nasdaq
#5 5 nyse
#6 6 nyse
#7 7 nyse
#8 8 nyse发布于 2019-06-21 11:54:22
您可以使用reshape。
reshape(d[1:2], varying=names(d)[1:2], v.names="Returns", direction="long",
times=tolower(gsub("Stocks", "", names(d)[1:2])), timevar="Market")
# Market Returns id
# 1.nasdaq nasdaq 1 1
# 2.nasdaq nasdaq 2 2
# 3.nasdaq nasdaq 3 3
# 4.nasdaq nasdaq 4 4
# 1.nyse nyse 5 1
# 2.nyse nyse 6 2
# 3.nyse nyse 7 3
# 4.nyse nyse 8 4Data
d <- structure(list(NasdaqStocks = 1:4, NyseStocks = 5:8, Nasdaq = structure(c(1L,
1L, 1L, 1L), .Label = "nasdaq", class = "factor"), Nyse = structure(c(1L,
1L, 1L, 1L), .Label = "nyse", class = "factor")), row.names = c(NA,
-4L), class = "data.frame")https://stackoverflow.com/questions/56696052
复制相似问题