【问题标题】:Parsing data in txt file to table (dataframe) in R将txt文件中的数据解析为R中的表(数据框)
【发布时间】:2021-10-17 22:45:48
【问题描述】:

我是新来的,而且我对使用 R 程序也很陌生。 我想问一下,如何将文本文件中的数据解析到“环境”部分的表格中。 具体来说,我不知道如何从文件"teplota_19-10-2020" 中每个传感器的测量温度数据创建列以使其看起来与结果图片“tab2”中的表格相同:

非常感谢您考虑帮助我。

【问题讨论】:

  • 这是一个固定宽度的文件,R自带read.fwf函数来读取这些文件。

标签: r parsing read.table columnsorting


【解决方案1】:

为了创建包含所需输出的数据框,您需要读取文件并进行一些转换。
显然,“cas - hodiny”从捷克语翻译成英语为“时间 - 小时”。

library(dplyr)
library(stringr)
library(purrr)

fl = read.csv2("teplota_19-10-2020.txt", sep = ",")
names(fl) <- paste0("col", 1:10)
df <- fl %>% mutate(`hour:min:sec` = str_split(col1, " ") %>% map_chr(.,1),
                sensor1 = str_split(col1, " ")%>% map_chr(.,3),
                sensor2 = str_split(col2, " ") %>% map_chr(.,3),
                sendorOW1 = str_split(col3, " ") %>% map_chr(.,3),
                sendorOW2 = str_split(col4, " ") %>% map_chr(.,3),
                setpoint = str_split(col5, " ") %>% map_chr(.,3),
                ouput = str_split(col6, " ") %>% map_chr(.,3),
                P = str_split(col7, " ") %>% map_chr(.,3),
                `I` = str_split(col8, " ") %>% map_chr(.,3),
                `D` = str_split(col9, " ") %>% map_chr(.,3),
                ModRizeiTeploty = str_split(col10, " ") %>% map_chr(.,3)
 ) 

 df$`cas - hudiny` <- sapply(str_split(df$`hour:min:sec`, ":"), 
                             function(i) sum(as.numeric(i)/c(1, 60, 3600))
                             )
 df <- df %>% select("hour:min:sec", `cas - hudiny`, sensor1,  sensor2, sendorOW1, sendorOW2, setpoint, ouput, P, I, D, ModRizeiTeploty) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 2015-02-02
    • 2017-10-08
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    相关资源
    最近更新 更多