-3
R을 배우고 있으며 separate() 함수의 사용을 복제하는 데 문제가 있습니다.분리 기능이 정확하게 구분되지 않습니다.
아래에 일부 데이터가 있습니다. 내 코드는 다음과 같습니다 : 여기
separate(DF, col ="PARAM_2",paste0("x",1:257),sep="|")
는 원시 데이터의 샘플입니다
PARAM_2 TRANSACTION_ID REVENUE
1 16522337|10086236 3812351327 449.97
2 21106549|24390750 3851589288 67.98
3 23475149 3804446998 54.99
4 19397324 3866373678 224.97
5 23317326|23825351 3820764147 109.99
6 20433128|20433140|20433165 4962022906 369.94
7 19506902 3835040778 10.50
8 24095014|25029701|24244086|24244271|16803155 3910007218 142.97
9 24036073 3887666318 22.49
10 19972354|14519726|18168381 3757376277 98.89
내가 아주 확실하지 않다 왜하지만 코드 대신에 의해 구분의 행 당 하나 개의 문자를 배치합니다 | 분리 기호. 대신 구분 기호의 수는 각 행에 대해 다른 경우 수동으로 열 이름을 지정하는
이 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 1 6 5 2 2 3 3 7 | 1 0 0 8 6 2 3
않습니다
cSplit
을 사용할 수 있습니다 : 여기 내 결함 코드를 사용하여 출력의 모습입니다 'sep' 매개 변수는 정규 표현식을 사용하므로 문자 그대로 의미하는 경우 파이프를 이스케이프해야합니다 :'sep = '\\ |''. 아니면 지정하지 마십시오. 그러면 파이프에서 분리됩니다. 또한 'split_rows'는 균등하지 않은 분할 수가있을 때 더 잘 작동합니다. – alistaire파이프 앞에 \\ 추가하여 고맙습니다. – Alan