【发布时间】:2018-02-11 15:51:47
【问题描述】:
我正在寻找一个 cvs 文件,其中包含一个矩阵,其中每个行/列组合都有一个特定的速率。见例子:
我想将信息作为数据框读取,其中每个值都与 $Year,$Age,$Rate 的行/列因子相关联。见例子:
谢谢!
CS
更新:感谢您的反馈,我已经编写了自己的函数并且似乎可以解决问题:
matrix2dataframe <- function(rowN,colN,Data) {
NRowRep = max(rowN)-min(rowN)
NColRep = max(colN)-min(colN)
tmp_Name = rep(as.character(Data[rowN[1],colN[1]]),times=NRowRep*NColRep)
tmp_Value = as.numeric(as.matrix(Data[rowN[2]:max(rowN),colN[2]:max(colN)]))
tmp_Age = rep(as.character(as.matrix(Data[rowN[2]:max(rowN),1])),times=NColRep)
tmp_DYear = mapply(rep,x=as.character(as.matrix(Data[rowN[1],2:max(colN)])),times=NRowRep)
tmp_DYear = as.character(tmp_DYear)
#list(Cancer = tmp_Name,Rate = tmp_Value,Age = tmp_Age,DYear = tmp_DYear)
data.frame(Cancer = tmp_Name,Rate = tmp_Value,Age = tmp_Age,DYear = tmp_DYear)
}
【问题讨论】:
-
请提供样本数据和/或数据图像。
-
您可以为两个示例 data.frames 而不是两张图片提供
dput的输出。请参阅此处了解如何提出好问题stackoverflow.com/questions/5963269/… -
这与您的其他问题 stackoverflow.com/questions/46019182/… 并没有真正的不同。您是否看过任何涵盖此内容的介绍性指南 - 如果是的话,您能否展示您尝试过的代码以及您遇到的问题。谢谢
-
感谢您的链接。我找不到任何默认函数,所以我最终自己写了