0
긴 형식으로 구성된 불균형 데이터 세트에서 세션 1에서 "마지막 세션"으로의 안정적인 개선 또는 악화를 계산하고 싶습니다.긴 형식의 불균형 데이터로부터 assesment를 post하기 전에 신뢰성있는 개선을 계산하십시오.
내가 가지고있는 데이터는 다음과 같습니다
ID <- c("A","A","B","B","B","C","C","C","C")
Session <-c(1,2,1,2,3,1,2,3,4)
Value <- c(10,6,25,35,15,20,25,35,35)
Have <- data.table(ID,Session,Value)
Have
ID Session Value
A 1 10
A 2 6
B 1 25
B 2 35
B 3 15
C 1 20
C 2 25
C 3 35
C 4 35
내가 같이 할 필요가있는 데이터 : 내가 시도
Change <- c(-4,-4,-10,-10,-10,15,15,15,15)
Need <- data.table(ID,Session, Value,Change)
Need
ID Session Value Change
A 1 10 -4
A 2 6 -4
B 1 25 -10
B 2 35 -10
B 3 15 -10
C 1 20 15
C 2 25 15
C 3 35 15
C 4 35 15
이 : 나는 코드를 사용
Have$change<-as.vector(unlist(tapply(Have$Value,Have$ID,FUN=function(x){return (x-rep(x[1],length(x)))})));
Have
ID Session Value change
A 1 10 0
A 2 6 -4
B 1 25 0
B 2 35 10
B 3 15 -10
C 1 20 0
C 2 25 5
C 3 35 15
C 4 35 15
이 게시물의 게시물 Calculating change from baseline with data in long format
안녕 감사를 단순화하기 위해 약간의 업데이트! 코드는 위의 예제에서 잘 작동합니다. 원래 데이터 세트에서 시도했지만 "오류 : 단일 값 예상"을 반환합니다 ... 원본 데이터는 예제에서와 같이 data.frame입니다. 내 데이터 집합에서 ID 변수를 문자에서 문자로 변경했지만 (예에서와 같이) 오류가 계속 발생합니다. ID 변수는 예 : "BNCS01"이고, 세션은 숫자이며 (예제에서는 동일하지만 1 - 29 범위 임) 값은 0-40의 숫자 범위 (3 개의 소수점 포함)입니다. 오류 메시지가 나타나는 이유에 대한 제안 사항은 무엇입니까? – Carl
안녕하세요 @ 카를,이 문제는 귀하의 그룹 중 하나는 그것에 하나의 관찰을 가지고 있다고 생각합니다. 나는 단지 하나의 관측치가'diff'에 전달된다면 dplyr이 길이 1의 벡터를 기대하고있는 길이 0의 벡터를 반환한다는 것을 고려하지 않았습니다. 이것을 해결하기 위해서 여러분은 자신의 diff 함수를 쓰고 사용할 수 있습니다 외곽 또는 누락 된 값을 처리하는 방법을보다 효율적으로 제어 할 수 있다는 이점이 있습니다. 예를 들어 다음과 같은'DIFF <- function (x) { ### NAs 제거 x <- x [! is.na (x)] if (length (x) == 0) return (NA) else return (max (x) - min (x)) }' – CroGo