【发布时间】:2020-03-10 20:36:56
【问题描述】:
我有一个 CVS 文件作为 R 中的 df 导入。这个 df 的尺寸是 18x11。我想计算列之间所有可能的比率。你们能帮我解决这个问题吗?我知道“for循环”或矢量化函数都可以完成这项工作。行名将保持不变,而列名组合可以使用粘贴进行合并。但是,我不知道如何执行此操作。我在excel,因为它仍然是一个较小的数据集。较大的尺寸会使其在 excel 中变得乏味且容易出错,因此,我想在 R 中尝试。
确实会有很大帮助。谢谢。假设下面是作为我数据子集的数据框。
dfn = data.frame(replicate(18,sample(100:1000,15,rep=TRUE)))
【问题讨论】:
-
到目前为止你有什么尝试?
-
我试过跟随,它有效,但如果有其他解决方案,请告诉我。
-
rdfn = do.call(cbind,lapply(1:ncol(dfn[]),function(x) { DF = data.frame(dfn[,]/dfn[,][,x ] ); colnames(DF)=paste0(colnames(dfn[,]),"/",colnames(dfn[,])[x]); return(DF)}))
-
@Dharmesh 你需要其他格式吗?
-
您下面的代码将完成这项工作。我只是想有一个结构上不那么复杂的替代方案。我正在尝试学习如何为我的数据分析工作有效地编码。谢谢。