我有以下数据框架,它记录了个人的姓名、他们的工作,以及他们在一天中工作了多少小时:
test_df <- data.frame(Name = c("Mark", "Stacy", "Anthony", "Colette"),
Job = c("Bartender", "Bartender", "Host", "Server"),
"01-Jan" = c(4, 5, 0, 6),
"03-Jan" = c(3, 7, 7, 8),
"04-Jan" = c(8, 0, 5, 4),
"07-Jan" = c(5, 6, 6, 7),
"08-Jan" = c(6, 8, 4, 0))上述数据帧只有一行对应于每个人的姓名,然后有一列对应于每一天,该列记录一个人在该特定一天工作的小时数。我想要切换这个,以便每个人的名字出现在5行(对应于数据帧中的5天),然后有“日期”列和“小时”列,显示一个人工作的时间和一天的一行。就像这样:
test_df_2 <- data.frame(Name = c("Mark", "Mark", "Mark", "Mark", "Mark",
"Stacy", "Stacy", "Stacy", "Stacy", "Stacy",
"Anthony", "Anthony", "Anthony", "Anthony", "Anthony",
"Colette", "Colette", "Colette", "Colette", "Colette"),
Job = c("Bartender", "Bartender", "Bartender", "Bartender", "Bartender",
"Bartender", "Bartender", "Bartender", "Bartender", "Bartender",
"Host", "Host", "Host", "Host", "Host",
"Server", "Server", "Server", "Server", "Server"),
Date = c("01-01-2020", "01-03-2020", "01-04-2020", "01-07-2020", "01-08-2020",
"01-01-2020", "01-03-2020", "01-04-2020", "01-07-2020", "01-08-2020",
"01-01-2020", "01-03-2020", "01-04-2020", "01-07-2020", "01-08-2020",
"01-01-2020", "01-03-2020", "01-04-2020", "01-07-2020", "01-08-2020"),
Hours = c(4, 3, 8, 5, 6,
5, 7, 0, 6, 8,
0, 7, 5, 6, 4,
6, 8, 4, 7, 0))我想在R中编写一个脚本,将第一个数据帧转换为第二个数据帧,但我不确定如何实现。我查看了关于将多个数据帧列组合为一个的其他堆栈溢出答案,但是我无法看到如何获得行填充正确次数的方法,以及相应的日期。
发布于 2021-01-12 22:07:29
https://stackoverflow.com/questions/65691530
复制相似问题