저는 data.table을 처음 사용하고 있습니다. 나는 그것을 배우려고 노력 중이며 data.frame에서 data.table로 이동하려고합니다.data.table의 열을 분할 할 때 문자 벡터의 R 객체를 열 이름으로 사용하는 방법은 무엇입니까?
이제 텍스트를 새 열로 나누려고하고 토론 here을 따르고 있습니다.
이것은 내가하려는 일입니다.
# sample data frame
test <- data.table(POS = c(254, 280, 303, 22, 105, 173, 230, 235, 257, 258),
value = c("0/1:15:3:123:12:478:-38.8484,0,-6.94934",
"0/0:15:15:577:0:0:0,-4.51545,-52.25",
"0/0:13:13:276:0:0:0,-3.91339,-25.0455",
"0/0:367:347:13643:0:0:0,-104.457,-1226.73",
"0/0:367:344:13145:5,0,1,0:168,0,41,0:0,-89.9158,-1166.99,-103.554,-1168.49,-1182.1,-100.161,-1165.11,-1178.71,-1178.41,-103.554,-1168.49,-1182.1,-1178.71,-1182.1",
"0/1:344:180:5411:156:4394:-294.227,0,-385.695",
"0/0:352:349:12289:1:12:0,-104.28,-1104.15",
"0/0:352:345:10691:1:12:0,-103.081,-960.583",
"0/0:352:351:13162:1:41:0,-101.868,-1179.6",
"0/0:352:349:12593:0:0:0,-105.059,-1132.45"))
I 사용 상이한 값 열로 분할 원 ":"특정 컬럼 이름을
이
은 예시적인 데이터이다. 아래 코드 (위의 링크에서 배웠습니다)는 완벽하게 하나의 코드입니다.test[, c("GT", "DP", "RO", "QR", "AO", "QA", "GL") := tstrsplit(value, ":",
fixed=TRUE)]
그러나 위의 c (이름) 대신 R 개체를 사용할 수 있습니까? 이처럼 :
# use the namesForm as column names
test[, namesForm := tstrsplit(value, ":", fixed=TRUE)]
이 날 경고하고 다른 출력이 (나에게 3 개 변수 data.table을 제공합니다 제공합니다, 마지막의 목록을 : 다음
# new column names
namesForm <- c("GT", "DP", "RO", "QR", "AO", "QA", "GL")
, namesForm 다음과 같은 것을 사용 (10)는 tstrsplit 출력에서 7 목록의 재활용)
Warning message:
In `[.data.table`(test, , `:=`(namesForm, tstrsplit(value, ":", :
Supplied 7 items to be assigned to 10 items of column 'namesForm' (recycled leaving remainder of 3 items).
그래서 다시는 내 질문은, 그것이 명시 적 C() 대신에 R 객체/변수를 사용하는 것이 가능하다 했습니까?
사용'(namesForm) : ='대신'namesForm의 ='. – A5C1D2H2I1M1N2O1R2T1