【问题标题】:R with Lookup Table带查找表的 R
【发布时间】:2012-10-17 15:28:18
【问题描述】:

我有两个包含这种格式的时间序列的文件:

Tag, T1, T2, ...  Tn
Stock-1, 2, 3, ..  6
Stock-2, 3, 2, ..  7
.
.
Stock-m, 2, 1, ..  9

在 R 中,对于任何标签(例如 Stock-x),我想从两个文件中获取相关数组并为它们计算互相关(ccf)。我该怎么做?

注意:如果更简单,我可以更改文件格式。

更新:

我用这个从文件读入data.frames:

file1 = read.table("file1.txt", header = TRUE, sep = ",")

我将如何访问具有标签名称(例如“Stock-5”)的特定行?

【问题讨论】:

  • 您可以简单地将两个文件读入两个不同的 data.frames(使用 read.table() 或类似的),然后访问这两个 data.frames 中的正确行。如果您需要更多信息,如果您能准确地告诉我们您在此过程中的哪个阶段遇到问题会更好。
  • 我认为这是一个很好的问题,但我认为它更多地属于 StackOverflow 而不是这里。
  • 谢谢,也许版主可以将问题移至 SO。

标签: r time-series cross-correlation


【解决方案1】:

看来这个问题可以这样回答:

f1stock5df <- subset(file1,Tag %in% c("stock5"))

f2stock5df <- subset(file2,Tag %in% c("stock5"))

bothstocks <- rbind(f1stock5df, f2stock5df)

with(bothstocks, ccf(x,y))

【讨论】:

  • 我试过这个,但它对我不起作用。也许我做错了什么。
  • 它应该使用 rbind - 但是在哪一步它不起作用?
  • 匹配错误(x,table,nomatch = 0L):找不到对象“标签”。无论如何,我有办法,所以这不是问题。谢谢。
  • 抱歉,祝你好运。你有一个名为“标签”的列吗?
【解决方案2】:

我从文件中删除了“标签”:

T1, T2, ...  Tn
Stock-1, 2, 3, ..  6
Stock-2, 3, 2, ..  7
.
.
Stock-m, 2, 1, ..  9

然后我可以用这个 R 代码得到结果:

file1 = read.table("file1.txt",head=TRUE,sep=",")
file2 = read.table("file2.txt",head=TRUE,sep=",")

row1 = file1["Stock-5",]
row2 = file2["Stock-5",]

vec1 = c(t(row1))
vec2 = c(t(row2))

ccf(vec1,vec2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2015-05-31
    • 2013-06-25
    相关资源
    最近更新 更多