큰 데이터 세트가 있는데 그 중 작은 샘플은 아래 4x5 tibble처럼 보입니다. 4 행에서 볼 수 있듯이cSplit Coerces 불필요 NA 행
library(splitstackshape)
dt <- tibble(
a = c("Quartz | White Spirit | Wildfire", "Quiet Riot", "Race Against Time", "Down | Heart Lane | X | Breaking H"),
b = c("Muthas Pride", "Killer Girls/Slick Black Cadillac", "Demo 1980", "Life 55"),
c = c("Split", "Single", "Demo", "Split"),
d = c("Birmingham, England | Hartlepool, England | Sheffield, South Yorkshire, England", "Los Angeles, California", "Nottingham, England", "Liverpool | Beijing | | NYC"),
e = c("wf | ef | ff", "g", "f", "cf | af | df | rf")
)
dt.s <- subset(dt, c == "Split")
dt.split <- cSplit(dt.s, c("a", "d", "e"), c("|", "|", "|"), "long")
dt.split
그러나이 나스의 추가 행을 강제 변환 :
a b c d e
1: Quartz Muthas Pride Split Birmingham, England wf
2: White Spirit Muthas Pride Split Hartlepool, England ef
3: Wildfire Muthas Pride Split Sheffield, South Yorkshire, England ff
4: NA Muthas Pride Split NA NA
5: Down Life 55 Split Liverpool cf
6: Heart Lane Life 55 Split Beijing af
7: X Life 55 Split df
8: Breaking H Life 55 Split NYC rf
이가 아닌 내가 다음과 같이 변수 c=="Split"
를 사용하여 고유 한 행에 여러 개의 구분 된 열을 분할하기 위해 노력하고있어 두 열만 분리하면 문제가 생깁니다. NA 행을 생성하지 않으려면 어떻게해야합니까? 그리고 서브 세트하지 않고 cSplit
을 c
으로 만들 수있는 방법이 있습니까?
감사하지만 위의 코드가 아닌 데이터 세트에서 위의 코드를 실행하면 다음 오류가 발생합니다. '오류 : 모든 중첩 열의 요소 수가 같아야합니다.' – 1984
@ 1984 죄송합니다. 나는 당신의 예제 데이터만을 테스트했다. – akrun