J'ai un script qui nécessite les bibliothèques reshape
et reshape2
. Je sais que c'est une mauvaise pratique, mais je pense
plyr
(ou une autre bibliothèque que j'utilise)
Vennerable
est en train de charger reshape
et j'ai personnellement utilisé reshape2
dans beaucoup d'endroits.Le masquage du paquetage Reshape empêche la fusion des colonnes de dénomination
Le problème est que le masquage de reshape2
par reshape
est à l'origine des problèmes de la fonction melt
# Example data frame
df <- data.frame(id=c(1:5), a=c(rnorm(5)), b=c(rnorm(5)))
# With just reshape2, variable and value columns are labelled correctly
library(reshape2)
melt(df, measure.vars=c("a", "b"), variable.name="type", value.name="distance")
id type distance
1 1 a -2.0233666
2 2 a 0.4625188
3 3 a -2.8688127
4 4 a 0.8151644
5 5 a -0.4574464
6 1 b 1.3197784
7 2 b 1.6213146
8 3 b 1.3508913
9 4 b -1.6483839
10 5 b -1.1342157
# But my script also has reshape loaded
library(reshape)
Loading required package: plyr
Attaching package: ‘reshape’
The following object(s) are masked from ‘package:plyr’:
rename, round_any
The following object(s) are masked from ‘package:reshape2’:
colsplit, melt, recast
# When calling melt in this environment, variable and value columns stick to
# their default names
melt(df, measure.vars=c("a", "b"), variable.name="type", value.name="distance")
id variable value
1 1 a -2.0233666
2 2 a 0.4625188
3 3 a -2.8688127
4 4 a 0.8151644
5 5 a -0.4574464
6 1 b 1.3197784
7 2 b 1.6213146
8 3 b 1.3508913
9 4 b -1.6483839
10 5 b -1.1342157
Je pensais que je pouvais appeler spécifiquement melt
de reshape2
en utilisant reshape2::melt
mais je reçois toujours le même problème.
Y at-il un moyen facile de contourner ce problème? Sinon, je devrai ré-étiqueter manuellement les noms des colonnes directement après chaque appel de fusion.
Je ne pense pas que la nouvelle version de '' plyr' utilise reshape' plus. Est-ce la seule raison pour laquelle vous avez importé "reshape"? – Peyton
Je ne l'importe pas personnellement, mais je pense qu'une autre bibliothèque est et je ne peux pas savoir laquelle. Je me doutais qu'il était plyr à cause de l'ordre de la sortie. – MattLBeck
Vérifiez chacun des paquets comme ceci: 'installed.packages() [installed.packages() [, 1] ==" ggplot2 ",]' – Roland