我有150个站点(Cod),每个站点都有许多使用过的服务。
| Cod | SERVICE1 | SERVICE2 | SERVICE3 | Position
------------------------------------------------------
| P05 | XRS10 | XRS07| XRS05| 12455
| R07 | FR05 | | | 4521
| X05 | XRS07 | XRS10| | 57541
我需要将所有服务(SERVICE1,SERVICE2,SERVICE3)放在一列中。这意味着我需要以下结果。
| Cod | SERVICE | Position
------------------------------------------------------
| P05 | XRS10 | 12455
| P05 | XRS07 | 12455
| P05 | XRS05 | 12455
| R07 | FR05 | 4521
| X05 | XRS07 | 57541
| X05 | XRS10 | 57541
使用R的sqldf
包还是有办法做到这一点吗?或者以任何方式做到这一点?
答案 0 :(得分:1)
试试这个:
[[1,2,3], [4,5,6,7], [8,9]]
不幸的是我不熟悉library(magrittr) ##used for the pipe, %>%
library(dplyr) ##for filtering observations and selecting columns
library(tidyr) ##for making your dataset long/tidy
new_data <- original_data %>%
tidyr::gather(key = service_type, value = SERVICE) %>%
dplyr::filter(!is.na(SERVICE)) %>%
dplyr::select(-service_type)
请注意,如果您想保留有关服务是来自sqldf
,SERVICE1
还是SERVICE2
的信息,您将省略最后一行(SERVICE3
)完全。