5
함수와 함께 map()
함수를 사용할 때 몇 가지 문제가 있습니다.중첩 된 데이터 프레임에서`map()`사용하기
나는 다음과 같이 설정 일부 데이터를 가지고 :
counter
counter date_time total
1 06032013 2013-06-03 16:00:00 476
2 06032013 2013-06-03 17:00:00 578
3 06032013 2013-06-03 18:00:00 406
4 06032013 2013-06-03 19:00:00 272
5 06032013 2013-06-03 20:00:00 240
6 06032013 2013-06-03 21:00:00 96
7 06032013 2013-06-03 22:00:00 67
8 06032013 2013-06-03 23:00:00 37
9 06032013 2013-06-04 00:00:00 10
10 06032013 2013-06-04 01:00:00 11
11 06032013 2013-06-04 02:00:00 8
12 06032013 2013-06-04 03:00:00 9
13 06032013 2013-06-04 04:00:00 23
14 06032013 2013-06-04 05:00:00 83
15 06032013 2013-06-04 06:00:00 291
16 06032013 2013-06-04 07:00:00 532
17 06032013 2013-06-04 08:00:00 434
18 06032013 2013-06-04 09:00:00 326
19 06032013 2013-06-04 10:00:00 310
20 06032013 2013-06-04 11:00:00 292
내가 다음 counter
필드를 기준으로 이러한 데이터를 중첩. 예를 들면 다음과 같습니다.
내가 원하는 것은 중첩 된 각 데이터 프레임에 매핑하고 중첩 된 데이터 프레임에 xts 행렬을 구성하는 것입니다. 나는 다음과 같은 많은 변형을 시도했다 :
y %>% mutate(stuff = map(xts(data$total, order.by = data$date_time)))
나는 Error in data$date_time : object of type 'closure' is not subsettable
으로 인사한다.
어떤 생각이라도 좋을 것입니다!
구문이 잘못되었습니다. 이것을 시도하십시오 :'% % % mutate (stuff = map (data, ~ xts (.x $ total, order.by = .x $ date_time)))' –
만약 purrr의 공식 표기법이 혼란 스럽다면, 표준 익명 함수 표기법 :'y %> % mutate (stuff = map (data, function (x) {xts (x $ total, order.by = x $ date_time)}))'. 'data', 당신이 반복하고자하는리스트 컬럼의 이름을 전달하고, 함수를 넘겨주는 변수를 통해'data'의 각 요소 내의 데이터를 참조하십시오. (기본값은'.x'입니다.). – alistaire
@MichaelGriffiths 답변을 작성 하시겠습니까? – alistaire