Comment créer un vide datatable avec les noms de colonnes et ensuite ajouter des tables de données?

D'abord je tiens à créer un vide datatable avec les noms de colonnes, mais il échoue:

data <- data.table(va, vb, vc)

> Error in data.table(va, vb, vc) : object 'va' not found

Deuxième je veux ajouter datatable, mais il ne parvient pas trop :

data2 <- data.table(va=c(-1,0,1), vb=c(-1,0,1), vc=c(-1,0,1))
data2
   va vb vc
1: -1 -1 -1
2:  0  0  0
3:  1  1  1
merge(data2,data2)

> Error in merge.data.table(data2, data2) : 
      Can not match keys in x and y to automatically determine appropriate `by` parameter. Please set `by` value explicitly.

Apparemment, la fonction ne peut pas identifier la by paramètres avec deux identiques datatables. Une idée?

"l'objet va" pas trouvé c'est parce que la R suppose que c'est un nom de variable et il n'y a pas de variable existante dans votre espace de travail nommé va
Pour créer un vide de données.l'utilisation de la table (en supposant que toutes les colonnes numériques): data=data.table(va=numeric(), vb=numeric(), vc=numeric())
Croissance dynamique choses dans une boucle (qui est ce qu'il semble que vous êtes en train de faire) est une mauvaise idée dans l'arrêt R.
Cette question est obsolète, merge(data2,data2) les valeurs par défaut pour tous (partagé) touches très bien dans les données.tableau v1.11.x. Je suppose que cela n'a pas été mis en œuvre en arrière dans v1.9.6 (2016).

OriginalL'auteur ChiseledAbs | 2016-05-22