2017-09-01 13 views
-2

样本数据我有两列(日期列和座位可用性列),我必须根据时间检查可用性如何更改。如何才能做到这一点?

Date       SeatAvailability    
01/05/2017 J6C5D6I6Z5W9S9H9K9Y9B9R9L9U9M9E9Q9X9V9N9O9 
02/05/2017 J7C6D6I6Z5W9S9H9K8Y9B9R9L9U9M9E9Q9X9V9N7O9 
03/05/2017 J6C1D6I6Z5W9S9H9K9Y9B9R9L9U3M9E9Q9X9V2N9O9 
04/05/2017 J6C6D6I6Z5W9S9H9K6Y9B9R9L4U9M9E9Q9X9V9N9O9 
05/05/2017 J6C6D8I6Z5W2S9H9K9Y9B9R9L9U9M9E9Q9X9V9N8O9 
06/05/2017 J6C6D6I6Z5W9S9H9K9Y9B9R9L9U9M9E9Q9X9V9N9O9 
07/05/2017 J6C6D6I6Z5W9S9H9K9Y9B9R7L9U9M9E9Q7X9V9N7O9 
08/05/2017 J6C6D6I6Z5W9S9H9K9Y9B9R9L9U9M9E9Q9X9V9N9O9 
09/05/2017 J8C6D6I6Z5W9S9H8K9Y9B9R9L9U9M9E9Q9X9V9N9O9 
10/05/2017 J6C1D6I6Z5W9S9H9K9Y9B9R9L9U3M9E9Q9X9V2N9O9 

每一行表示的座位在特定日期(例如,船的可用性:如果我们采取第一行的座位情况列,则J舱有有6个座位,C具有5等上..)

我必须检查如何根据时间更改可用性。我们如何做到这一点?

+0

每一行代表在特定一天船舶座位的可用性。 – user8545255

+0

你想知道什么? – Sagar

+0

请显示相应的预期输出和您尝试过的R代码。 –

回答

1

我不确定以下输出是否是您正在寻找的任何完整答案。我试图将Seat Availability拆分成不同的columns(例如column nameseat row)。您现在可以使用plot这些数据或根据需要使用。

df <- data.frame(Dates=c("01/05/2017","02/05/2017","03/05/2017","04/05/2017","05/05/2017", 
         "06/05/2017","07/05/2017","08/05/2017","09/05/2017","10/05/2017"), 
       SeatAvailability=c("J6C5D6I6Z5W9S9H9K9Y9B9R9L9U9M9E9Q9X9V9N9O9","J7C6D6I6Z5W9S9H9K8Y9B9R9L9U9M9E9Q9X9V9N7O9", 
            "J6C1D6I6Z5W9S9H9K9Y9B9R9L9U3M9E9Q9X9V2N9O9","J6C6D6I6Z5W9S9H9K6Y9B9R9L4U9M9E9Q9X9V9N9O9", 
            "J6C6D8I6Z5W2S9H9K9Y9B9R9L9U9M9E9Q9X9V9N8O9","J6C6D6I6Z5W9S9H9K9Y9B9R9L9U9M9E9Q9X9V9N9O9", 
            "J6C6D6I6Z5W9S9H9K9Y9B9R7L9U9M9E9Q7X9V9N7O9","J6C6D6I6Z5W9S9H9K9Y9B9R9L9U9M9E9Q9X9V9N9O9", 
            "J8C6D6I6Z5W9S9H8K9Y9B9R9L9U9M9E9Q9X9V9N9O9","J6C1D6I6Z5W9S9H9K9Y9B9R9L9U3M9E9Q9X9V2N9O9")) 

df$Dates <- as.character(df$Dates) 
df$SeatAvailability <- as.character(df$SeatAvailability) 
df$SeatAvailability <- gsub("[^0-9]","",df$SeatAvailability) 
df <- data.frame(cbind(df$Dates, do.call('rbind', strsplit(as.character(df$SeatAvailability),"",fixed=TRUE)))) 

colnames(df) <- c("Dates","J","C","D","I","Z","W","S","H","K","Y","B","R","L","U","M","E","Q","X","V","N","O") 

> df 
     Dates J C D I Z W S H K Y B R L U M E Q X V N O 
1 01/05/2017 6 5 6 6 5 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 
2 02/05/2017 7 6 6 6 5 9 9 9 8 9 9 9 9 9 9 9 9 9 9 7 9 
3 03/05/2017 6 1 6 6 5 9 9 9 9 9 9 9 9 3 9 9 9 9 2 9 9 
4 04/05/2017 6 6 6 6 5 9 9 9 6 9 9 9 4 9 9 9 9 9 9 9 9 
5 05/05/2017 6 6 8 6 5 2 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 
6 06/05/2017 6 6 6 6 5 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 
7 07/05/2017 6 6 6 6 5 9 9 9 9 9 9 7 9 9 9 9 7 9 9 7 9 
8 08/05/2017 6 6 6 6 5 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 
9 09/05/2017 8 6 6 6 5 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 
10 10/05/2017 6 1 6 6 5 9 9 9 9 9 9 9 9 3 9 9 9 9 2 9 9 

,从而可以参照绘制这样的数据:How to plot multiple columns in R for the same X-Axis Value

+0

它可以帮助我很多。而且,如果如果有单列作为 – user8545255

+0

谢谢..它可以帮助我很多。而且,如果我有单列,如“J96C75D56I96Z95W39S79H89K69Y49B99R49L49U6”和我想要将它转换为像“J9”和它的值6,“C7”,它的值是5等等列(前两个位置作为列名和第三个位置是列值...重复) – user8545255

+0

您可以使用'colnames(df)< - c(“Dates”,“J9”,“df”)更新列名, “C7”, “D5”, “I9”, “Z9”, “W3”, “S7”, “H8”, “K6”, “Y4”, “B9”, “R4”, “L4”,“U6 “)'。只要可用性是单个数字,这将工作。 – Sagar

相关问题