지역 목록 $ X1, 지역 $ X2, 지역 $ X3, 지역 $ X4, ... 영역 $ X100. 각 클래스 개체는 숫자입니다. 이러한 객체는 SpatialPixelsDataFrame의 결과에서 추출됩니다. 다른 동물 트랙의 버퍼 영역을 1에서 100까지 계산했습니다.이름 목록에서 문자를 추출하여 숫자로 명령을 내림
예. 지역 $ X1은 00000011110101100000 입니다. 1 영역 $ (X1)으로, 그래서이 1의 개수를 제공하고, 따라서 좀 버퍼 영역의 사이즈를 줄 것이다 날 1,504
제공 명령
table<-table(area$X1)
0 1
600097 1504
#extract the number of 1s
table[[2]]
사용.
그러나 다른 모든 개체에 대해 동일한 작업을 수행하고 싶습니다. 영역 $ X2에서 영역 $ X100까지 동일하게 작업하고 싶습니다. 그리고 평균 1s의 수를 계산하십시오. 나는이 과정을 자동화하고 싶다. 내가 어떻게 해?
현재, 내가 한 일은 이름
names<-paste("area$X",1:100,sep="")
내가 원하는 이름의 목록을 얻을 수 있지만, "이름"의 요소의 클래스가 문자가의 목록을 작성하는 것입니다.
names: "area$X1" "area$X2" "area$X3" "area$X4" "area$X5" "area$X6" "area$X7"
..."area$X99" "area$X100"
class(names[1]): "character"
"area $ X1"은 더 이상 원하는 숫자가 아닙니다. 내가 명령을 시도 이제 경우에 추가하려면 :
table(names[1])
area$X1
1
는 늘 그냥 이름 "영역 $의 X1"하나 개 요소를 포함하는 0과 1의 표합니다.
따옴표를 제거하려고했지만 도움이되지 않았습니다.
아무도 도와 줄 수 있습니까? 감사합니다 !!!
영역이 SpaitalPiexelsDataFrame 클래스 –
에 적용 옵션이 있기 때문에 colSums가 작동하지 않습니까? – Djork
감사합니다. 적용 기능이 작동합니다. 그러나 각 ID에 대한 영역의 분산을 계산하는 방법이 있습니까? –