我是一个R的初学者,现在我有一个关于我正在工作的数据的问题。
我有几个专栏,有几个调查的答案。以下是两栏:
OperatingSystem LanguageWorkedWith
Linux C;C++;C#
Windows Java; JavaScript
Mac C
Linux C#
并需要将其分解为与OperatingSystem相关联的分隔行(也分为2列: OperatingSystem和LanguageWorkedWith):
Linux C
Linux C++
等等..。对不起,如果这个问题被重复了,我只是找不到解决办法。
发布于 2018-10-08 15:26:02
tidyr包中的separate_rows
可以做到这一点。
library(dplyr)
library(tidyr)
DF %>% separate_rows(LanguageWorkedWith, sep = ";")
给予:
OperatingSystem LanguageWorkedWith
1 Linux C
2 Linux C++
3 Linux C#
4 Windows Java
5 Windows JavaScript
6 Mac C
7 Linux C#
备注
以可复制形式使用的输入如下:
Lines <- "OperatingSystem - LanguageWorkedWith
Linux - C;C++;C#
Windows - Java; JavaScript
Mac - C
Linux - C#"
DF <- read.table(text = Lines, header = TRUE, sep = "-", strip.white = TRUE, comment = "")
https://stackoverflow.com/questions/52711124
复制