这是我在excel上的数据,状态和事件是上述日期的变量。事件列没有数据。
30/12/2018 31/12/2018 01/01/2019
Status event status event status event
delivered ncp ncp
ncp delivered ncp
我想将这些变量作为标题,并将这些日期作为一栏添加。
注意:这只是我的数据的一个示例,实际上,日期可以使用一个月。请帮忙。
答案 0 :(得分:0)
将Excel文件另存为CSV。然后使用R read.csv()
函数
sample_data <- read.csv(file="c:/mySampleData.csv", header=TRUE, sep=",")
该函数的第一个参数是文件的路径。
它将数据转换为数据框,您可以使用$
访问列,例如sample_data$Status
将返回状态列。
答案 1 :(得分:0)
不确定这是否是您要寻找的东西,但这应该将数据转换为结构良好的格式。
library(readxl)
library(dplyr)
library(tidyr)
file <- # INSERT FILE PATH HERE
df <- read_excel(file, col_names = FALSE)
df2 <- df %>%
mutate(SEQ_NO = ifelse(row_number() > 2, row_number() - 2, NA)) %>%
gather(COL, VAL, -SEQ_NO) %>%
mutate(DATE = ifelse(grepl('/', VAL), VAL, NA),
DATE = as.Date(DATE, format = '%d/%m/%Y')) %>%
fill(DATE) %>%
mutate(KEY = ifelse(VAL %in% c('status', 'event'), toupper(VAL), NA)) %>%
fill(KEY) %>%
filter(!is.na(SEQ_NO)) %>%
select(-COL) %>%
spread(KEY, VAL) %>%
arrange(DATE, SEQ_NO) %>%
select(DATE, SEQ_NO, STATUS, EVENT)