首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想在dataframe列表中找出列的差异

我想在dataframe列表中找出列的差异
EN

Stack Overflow用户
提问于 2017-08-19 03:25:05
回答 1查看 34关注 0票数 0

我想要找到列表中每个数据帧中列之间的RMSE。我写了以下代码:

代码语言:javascript
运行
复制
i3<-2:6
for(iter in 1:length(filenames)){ # length(filename)=45
  for (i in seq_along(i3)){
    RMSE<-lapply(filelist, function(x) sqrt(mean(as.numeric(x[[iter]][[7]])-as.numeric(x[[iter]][[i]]))^2))
  }
}

但是这段代码并不能很好地工作。

数据帧格式如下:

代码语言:javascript
运行
复制
df1:
    col2 col3 col4 col5 col6 col7 
    5     4    3     2     3  4     
    4     2    3    4      4  2      

df2:
    col2 col3 col4 col5 col6 col7  
    5     4    3     2     3  4     
    4     2    3    4      4  2   

我想要以下形式的o/p:

代码语言:javascript
运行
复制
df1:
col2 col3 col4 col5 col6 col7 RMSE(7-2) RMSE(7-3) RMSE(7-4) RMSE(7-5) 
5     4    3     2     3  4     4.5        3.5     4.3        2.4
4     2    3    4      4  2      3.5       2        3.5        2.4

df2:
col2 col3 col4 col5 col6 col7 RMSE(7-2) RMSE(7-3) RMSE(7-4) RMSE(7-5) 
5     4    3     2     3  4     4.5        3.5     4.3        2.4
4     2    3    4      4  2      3.5       2        3.5        2.4

提前感谢!!

EN

回答 1

Stack Overflow用户

发布于 2017-08-19 03:45:01

您可能需要查看purrr:map()map2()

在这里,我对您的代码进行了一些重构...它仍然不会工作,但这可能会更接近你想要的。

代码语言:javascript
运行
复制
RMSE <- list()

for(i in 1:length(filenames)) {
    df <- read.file(filenames[i])
    for(j in 2:6) {
        RMSE[i] <- lapply(df, fun)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45763769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档