मेरे पास एक स्क्रिप्ट है जिसके लिए reshape
और reshape2
लाइब्रेरी दोनों की आवश्यकता है। मुझे पता है कि यह खराब अभ्यास है, लेकिन मुझे लगता है कि
plyr
(या एक और लाइब्रेरी जिसका मैं उपयोग कर रहा हूं)
Vennerable
reshape
लोड हो रहा है और मैंने कई स्थानों पर व्यक्तिगत रूप से reshape2
का उपयोग किया है।कॉलम नामकरण से पिघलने से रोकने वाले पैकेज मास्किंग को रीशेप करें
समस्या यह है कि reshape
द्वारा reshape2
की मास्किंग 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
मैंने सोचा कि मैं विशेष रूप से reshape2::melt
का उपयोग कर reshape2
से melt
कह सकते हैं लेकिन मैं अभी भी एक ही समस्या मिल के लिए समस्याएं खड़ी कर रहा है है।
क्या इसके आसपास कोई आसान तरीका है? यदि नहीं, तो मुझे प्रत्येक पिघला हुआ कॉल के बाद सीधे कॉलम नामों को मैन्युअल रूप से लेबल करना होगा।
मुझे नहीं लगता कि 'plyr' के नवीनतम संस्करण का उपयोग करता है' अब reshape'। क्या यही कारण है कि आप 'रीशेप' आयात कर रहे थे? – Peyton
मैं इसे व्यक्तिगत रूप से आयात नहीं करता हूं, लेकिन मुझे लगता है कि एक और लाइब्रेरी है और मैं काम नहीं कर सकता। मुझे संदेह था कि यह आउटपुट के आदेश के कारण प्लीयर था। – MattLBeck
इस तरह के प्रत्येक पैकेज की जांच करें: 'install.packages() [install.packages() [, 1] ==" ggplot2 ",]' – Roland