R에서 열을 분할하는 방법


우수 답변

여기에 내 데이터 프레임이 있습니다.

> data

Manufacturers

1 Audi,RS5

2 BMW,M3

3 Cadillac,CTS-V

4 Lexus,ISF

따라서 제조업체와 모델을 이렇게 나누고 싶습니다.

> data

Manufacturers Models

1 Audi RS5

2 BMW M3

3 Cadillac CTS-V

4 Lexus ISF

library (qdap);

colsplit2df (data ,, c ( “Manufacturer”, “Model”), “,”)

또는

사용 분리 () by tidyr 패키지

separate (DataTable, ColumnName, into =”“, sep =””)

또는

구분자를 기준으로 데이터 프레임에서 한 열을 두 개로 나누고 싶습니다. 예 :

a|b

b|c

예정

a b

b c

데이터 프레임 내.

df <- data.frame(ID=11:13, FOO=c("a|b", "b|c", "x|y"))

separate(data = df, col = FOO, into = c("left", "right"), sep = "\\|")

ID left right

1 11 a b

2 12 b c

3 13 x y

이 경우 기본값은 작동하기에 충분히 스마트합니다. (분리 할 영숫자가 아닌 문자를 찾습니다.)

또는

separate(data = df, col = FOO, into = c("left", "right"))

library(reshape2)

before = data.frame(attr = c(1,30,4,6), type=c("foo\_and\_bar","foo\_and\_bar\_2"))

newColNames <- c("type1", "type2")

newCols <- colsplit(before$type, "\_and\_", newColNames)

after <- cbind(before, newCols)

after$type <- NULL

after

답변

안녕하세요 Ashutosh

R에서 열 이름을 변경하거나 이름을 바꾸는 방법의 수는 사용자의 요구 사항에 따라 다릅니다.

1. 데이터 프레임에서 열 이름 변경-첫 번째 열부터 시작하여 제공 한 이름이 다 떨어질 때까지갑니다. 예를 들어 데이터 프레임에 8 개의 열이 있지만 두 개의 이름 만 제공하는 경우 처음 두 개의 열만 이름이 변경됩니다.

구문 :

names(data) <- c("new\_name", "another\_new\_name")

2. 이름을 사용하여 열 이름을 변경하여 이름을 적용 할 열을 식별합니다.

구문 :

colnames(data)[colnames(data)=="old\_name"] <- "new\_name"

3. 이름을 적용 할 열을 식별하려면 열 번호를 사용하여 열 이름을 변경하십시오. 다음 코드는 데이터 프레임 데이터의 세 번째 열의 이름을 new\_name으로 변경합니다.

구문 :

names(data)[3]<-"new\_name"

참고 : R은 필드에 공백으로 이름을 지정할 수 있지만 이름이 변경된 후에는 해당 열을 쉽게 참조 할 수 없습니다. 프레젠테이션을 위해 열 이름을 더 읽기 쉽게 만들어야하는 경우 R에서 데이터를 내보내기 직전에 마지막 단계로이 작업을 수행합니다.

감사합니다!

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다