데이터 집합과 세 가지 함수가 있습니다. 첫 번째 함수 subject (x, n)에는 두 개의 인수가 있습니다. 객체 x와 값 n입니다. subject()는 x를 data.frame 클래스로 변환 한 다음 배관 연산자 %> %를 사용하여 x에 dplyr 함수를 적용합니다. 그러면 subject (x, n)가 반환 한 객체는 piping 연산자 %> %를 사용하여 subject (x, n)에 연결된 함수 visit (x, n)을 제공합니다. 방문 (x, n) 함수는 수신 한 객체의 클래스를 data.frame으로 변환 한 다음 dframe의 filter() 함수를 데이터 프레임에 적용하고 결과 클래스를 방문 클래스로 변환 한 후 결과 데이터 프레임을 반환합니다. 마지막으로, 세 번째 함수실 (x, r)은 pipe 연산자 %> %와 visit (x, n)을 사용하여 링크되고, 클래스를 데이터 프레임으로 변경 한 후받은 객체에 필터()를 적용하고 class "room" "visit"및 "room"함수는 설계된대로 작동하지 않습니다. 오류 및 그 원인을 이해하고 코드를 수정하는 방법을 제안 할 수 있는지 궁금합니다. 고맙습니다. 다음과 같이함수 내에서 Dplyr 명령
> y
id visit room value timepoint
1 14 0 bedroom 6.00 53
2 15 0 den 6.00 54
3 14 1 den 2.75 55
4 14 0 bedroom 2.75 56
5 17 1 den 2.75 57
6 15 1 bedroom 2.75 58
7 16 2 den 6.00 59
8 16 2 den 6.00 60
9 14 2 den 2.75 61
10 12 0 den 2.75 62
subject <- function(x, n){
class(x) <- "data.frame"
y <- x %>% select(id, visit, room, value) %>% filter(id == n)
structure(y, class = c("subject"))
}
visit <- function(x, n){
class(x) <- "data.frame"
x %>% filter(visit == n)
structure(x, class = "visit")
}
room <- function(x, r){
class(x) <- "data.frame"
x %>% filter(room == r)
structure(x, class = "room")
}
w <- subject(y, 14) %>% visit(0) %>% room("bedroom")
class(w) <- "data.frame"
w
id visit room value
1 14 0 bedroom 6.00
2 14 1 den 2.75
3 14 0 bedroom 2.75
4 14 2 den 2.75
가'역 추적()를 사용할 필요가 문제없이 일'알아낼의이 순서의 어떤 호출이'match '를 잘못 호출하고 있습니다. 'dput (y)'를 게시 할 수 있다면 이상적입니다. –
'class = visit' 또는'class = "visit"'? – HubertL
당신 말이 맞아요. 클래스 = "방문" – gk7