मैं थोड़ी देर के लिए इसे समझने की कोशिश कर रहा हूं, और सोचा कि मैं यहां पूछूंगा।स्प्लिट ऊंटकेस कॉलम नाम
df <- data.frame(participant = 1:6, group = c("adult", "adult", "child", "child", "NSS", "NSS"), RegProto = c(2, 3, 4, 2, 4, 3), RegInt = c(2, 3, 4, 6, 6, 5), RegDistant = c(3, 3, 4, 5, 4, 5), IrregProto = c(4, 5, 3, 4, 3, 1), IrregInt = c(4, 4, 4, 4, 4, 4), IrregDistant = c(4, 5, 6, 8, 9, 1))
इस डेटा फ्रेम के साथ समस्या यह है कि प्रत्येक दो चर होता है:
मैं निम्नलिखित की तरह एक डेटा फ्रेम कहो एक चर जिसका मान हैं या तो Reg
या Irreg
, एक और जिनके मान Proto
कर रहे हैं, Int
, या Distant
। मैं जो करना चाहता हूं वह इन कॉलम को विभाजित करता है और टेबल को लंबा बनाता है, अधिमानतः tidyr
का उपयोग करना। मैंने सोचा कि मैं ऐसा कर सकता हूं।
library("tidyr")
df_long <- df %>%
gather(index, n, -group, -participant) %>%
select(participant, group, index, n) %>%
separate(index, into = c("verb", "similarity"), sep = "\\.?=\\p{Upper}")
यह मैं separate()
तक चाहता हूं। मुझे एक त्रुटि संदेश मिलता है जिसमें कहा गया है कि मान विभाजित नहीं थे, लेकिन ऐसा कोई अन्य सुझाव क्यों नहीं हो सकता है। मैं regex के लिए नया हूँ, इसलिए मुझे संदेह है कि समस्या वहां होनी चाहिए, लेकिन मैं यह नहीं समझ सकता कि सही वाक्यविन्यास क्या हो सकता है।
धन्यवाद एक लाख। – JoeF