r - 如何从 R 或 matlab 中的原始数据和查找表创建新表?

标签 r matlab

我在 table1.txt 中有原始温度数据,其站号标题为

Date       101    102    103    
1/1/2001   25     24     23      
1/2/2001   23     20     15      
1/3/2001   22     21     17      
1/4/2001   21     27     18     
1/5/2001   22     30     19     

我有一个查找表文件 lookup.txt,内容如下:

ID  Station
1   101
2   103
3   102
4   101
5   102

现在,我想创建一个新表 (new.txt),其 ID 号标题应显示为

    Date        1      2       3     4     5    
    1/1/2001   25     23      24     25    24
    1/2/2001   23     15      20     23    20
    1/3/2001   22     17      21     22    21
    1/4/2001   21     18      27     21    27
    1/5/2001   22     19      30     22    30

无论如何我可以在 R 或 matlab 中做到这一点吗?

最佳答案

我想出了一个使用 tidyverse 的解决方案。它涉及一些从宽到长的转换,匹配 Station 上的数据帧,然后传播变量。

#Recreating the data

library(tidyverse)

df1 <- read_table("text1.txt")

lookup <- read_table("lookup.txt")

#Create the output
k1 <- df1 %>% 
       gather(Station, value, -Date) %>%
       mutate(Station = as.numeric(Station)) %>%
       inner_join(lookup) %>% select(-Station) %>%
       spread(ID, value)

k1

关于r - 如何从 R 或 matlab 中的原始数据和查找表创建新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464153/

相关文章:

matlab - 连续运行多个 MATLAB 脚本

matlab - Matlab 中的 TCP/IP 通信

matlab - 如何在没有循环的情况下构建距离矩阵(矢量化)?

Matlab triu函数转向量

python - 如何像在 R 中那样在 Python 中绘制 CART 树?

regex - 重新排列一个字符串

删除ggplot2 geom_polygon中的连接线

r - 比较 R 与 Matlab 的数据挖掘

从 R 中的数据框列中删除重音

c++ - 当 Rtools 安装在 Windows 7 的非默认目录中时,在 R 中编译 Stan 模型