반응형
data.table 열 순서 변경 방법(복사하지 않음)
나는 나의 열을 다시 주문하고 싶습니다.data.table
x
열 이름의 문자 벡터가 주어지면,neworder
:
library(data.table)
x <- data.table(a = 1:3, b = 3:1, c = runif(3))
neworder <- c("c", "b", "a")
분명히 저는 할 수 있습니다.
x[ , neworder, with = FALSE]
# or
x[ , ..neworder]
# c b a
# 1: 0.8476623 3 1
# 2: 0.4787768 2 2
# 3: 0.3570803 1 3
전체 데이터 세트를 다시 복사해야 합니다.다른 방법이 있나요?
사용하다setcolorder()
:
library(data.table)
x <- data.table(a = 1:3, b = 3:1, c = runif(3))
x
# a b c
# [1,] 1 3 0.2880365
# [2,] 2 2 0.7785115
# [3,] 3 1 0.3297416
setcolorder(x, c("c", "b", "a"))
x
# c b a
# [1,] 0.2880365 3 1
# [2,] 0.7785115 2 2
# [3,] 0.3297416 1 3
부터?setcolorder
:
인
data.table
얼버무리다set*
함수는 기준에 따라 입력을 변경합니다.즉, 한 열만큼 큰 임시 작업 메모리를 제외하고는 복사본이 전혀 생성되지 않습니다.
그래서 꽤 효율적일 것입니다.봐?setcolorder
상세한 것은
위의 솔루션을 사용하는 것이 더 쉬울 수 있지만 대신 열 번호별로 정렬할 수 있습니다.예: 라이브러리(data.table)
> x <- data.table(a = 1:3, b = 3:1, c = runif(3))
> x
a b c
[1,] 1 3 0.2880365
[2,] 2 2 0.7785115
[3,] 3 1 0.3297416
> setcolorder(x, c(3,2,1))
> x
c b a
[1,] 0.2880365 3 1
[2,] 0.7785115 2 2
[3,] 0.3297416 1 3
언급URL : https://stackoverflow.com/questions/12232041/how-to-reorder-data-table-columns-without-copying
반응형
'programing' 카테고리의 다른 글
매트랩 코더 대 핸드 코딩? (0) | 2023.06.15 |
---|---|
파이썬에서 파일 경로에서 폴더 경로를 추출하려면 어떻게 해야 합니까? (0) | 2023.06.15 |
Nokogiri 설치 실패 -libxml2가 누락되었습니다. (0) | 2023.06.15 |
Excel 파일에서 Apache POI XSSF 읽기 (0) | 2023.06.15 |
이 프로그램은 종을 울립니다! (0) | 2023.06.15 |