J'ai une liste d'objets: zone $ X1, zone $ X2, zone $ X3, zone $ X4, ... zone $ X100.La classe de chaque l'objet est numérique. Ces objets sont extraits des résultats d'un SpatialPixelsDataFrame. J'ai calculé la zone tampon pour différentes traces d'animaux de 1 à 100.extraire les caractères d'une liste de noms et en faire une commande numérique
Par exemple. La zone $ X1 est 0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,0,0 Je veux compter le nombre de 1 dans la zone $ X1, donc je commande utilisé
table<-table(area$X1)
0 1
600097 1504
#extract the number of 1s
table[[2]]
qui me donne 1504
cela donnerait le nombre de 1, et donc me donner la taille de la zone tampon.
Cependant, je veux faire la même chose pour tous les autres objets, la zone $ X2 jusqu'à la zone $ X100. Et calculer le nombre moyen de 1 dans l'ensemble. Je veux automatiser ce processus. Comment puis-je le faire?
Actuellement, ce que je faisais est de créer une liste de noms
names<-paste("area$X",1:100,sep="")
Pendant que je reçois la liste des noms que je voulais, la classe d'éléments en « noms » est le caractère.
names: "area$X1" "area$X2" "area$X3" "area$X4" "area$X5" "area$X6" "area$X7"
..."area$X99" "area$X100"
class(names[1]): "character"
"zone $ X1" n'est plus le chiffre que je voulais. Pour ajouter, maintenant, si je tente commande:
table(names[1])
area$X1
1
il ne sera pas une table de 0 et 1. Il contient tout simplement un élément, qui est le nom de « zone $ X1 ».
J'ai essayé d'enlever des guillemets mais cela n'a pas aidé.
Quelqu'un peut-il m'aider avec ceci? Merci !!!
colSums n'a pas fonctionné parce que la zone est dans la classe de SpaitalPiexelsDataFrame –
un peu de chance avec l'option d'application? – Djork
Merci. Appliquer la fonction fonctionne. Mais existe-t-il un moyen de calculer la variance de la zone pour chaque ID? –