【发布时间】:2017-05-13 10:22:11
【问题描述】:
我对 R 很陌生,如果我导入了一个 .csv 文件并且行代表了
时间和列代表 n 个感兴趣的变量,我该如何构造一个
从表中返回任何给定 1xn 向量的函数?
附:我不仅对构建向量感兴趣,而且我会执行 使用迭代计算来估计参数的矩阵代数,这意味着 我将需要使用 for 循环。
【问题讨论】:
我对 R 很陌生,如果我导入了一个 .csv 文件并且行代表了
时间和列代表 n 个感兴趣的变量,我该如何构造一个
从表中返回任何给定 1xn 向量的函数?
附:我不仅对构建向量感兴趣,而且我会执行 使用迭代计算来估计参数的矩阵代数,这意味着 我将需要使用 for 循环。
【问题讨论】:
如果数据结构包含例如m 行 n 列即 n 个变量,您可以轻松构建 n 个向量,而无需花费太多精力。
data<-read.csv(".../file.csv")
class(data)
[1] "data.frame"
class(as.numeric(data[1,]))
[1] "numeric"
所以转换 1*n 矩阵即长度向量 (ncol(data)) 并不是什么大问题。 在循环中使用
data["required Row Number",]
访问特定的行。每种情况最终都会给出 1*n 矩阵或长度为 (n) 的向量
【讨论】:
你可以使用 reshape2 包中的函数 melt()
或者,如果您想使用 for 循环,请尝试以下操作:
one_col <- data[,1]
for (i in 2:ncol(data)){
one_col <- rbind(one_col, data[,i])
}
【讨论】: