나는 더 좋은 방법으로 문구를 쓰는 법을 모른다. 여기 내 문제가있다.벡터의 연속적인 행에 대한 연산이
같은 매우 간단한 데이터 프레임 무엇인가 - 이제
df= {"time" "east" "north"
1 0 0
2 2 0
3 1 0
4 1 2
}
, 나는 (첫 번째 행을 제외하고) 두 개의 연속 된 시간 프레임 사이에 (다른 컬럼으로) 거리를 추가하고 싶습니다. 예를 들어 time==2
인 경우 거리는 sqrt((2-0)*(2-0) + (0-0)*(0-0))
으로 계산되어야합니다. 아마 결과는 내가 두 개의 연속 된 행에서 북쪽 동쪽 걸리는 거리를 얻고 점 사이의 유클리드 거리를 반환하는 방법을 가지고 싶다, 당연히이
df= {"time" "east" "north" "distance"
1 0 0 0
2 2 0 2
3 1 0 1
4 1 2 2
}
같은 수 있습니다. 1) 데이터 프레임에서 연속되는 두 점 사이의 거리를 어떻게 달성 할 수 있습니까?
거대한 데이터 프레임의 하위 집합에 대해 유사한 연산 또는 구성 가능한 함수 (거리, 연속 빼기 등)를 적용하려고합니다. 결국 나는 세그먼트를 플롯하고자한다.
index = length(df$time)-1
segments(df$time[index],df$time[index+1], df$distance[index], df$distance[index+1])
2) 연속 점에서 세그먼트를 플롯하는 더 좋은 방법이 있나요? 이와 같은 포인터는 매우 유용합니다.
사용할 수 있습니다. 예상 출력을 포함하면 ... – Sotos
감사합니다. 아마 출력도 추가했을 것입니다. – novice
당신의 계산에 근거하여'df, sqrt ((east-north)^2 + (lag (east) -lag (north))^2))')를 사용하면 값이 달라집니다. – akrun