एक टेक्स्ट फ़ाइल में कैसे पढ़ा जा सकता है जिसमें प्रत्येक रिकॉर्ड एक अनुच्छेद है और प्रत्येक नई पंक्ति अलग फ़ील्ड को दर्शाती है। जटिलता यह है कि कुछ रिकॉर्डों में 4 लाइनें होती हैं और कुछ में 6 होती हैं। @ डीडब्ल्यून ने मेरे प्रश्नों को खारिज कर दिया जब फ़ील्ड की संख्या में अंतर 1 था, लेकिन यह दो अलग होने पर अलग हो गया। आपके पास look at his answer here हो सकता है।जब प्रत्येक रिकॉर्ड एक अनुच्छेद होता है और कुछ रिकॉर्ड में 4 फ़ील्ड होते हैं और अन्य के पास 6
तो यहाँ मेरा प्रारंभ पाठ
TheInstitute 5467
telephone line 4125526987 x 4567
datetime 2011110516 12:56
blay blay blah who knows what, but anyway it may have a comma
TheInstitute 5467
telephone line 4125526987 x 4567
datetime 2011110516 12:58
blay blay blah who knows what
TheInstitute 5467
telephone line 412552999 x 4999
bump phone line 4125527777
bump pony pony oops 4125527777
datetime 2011110516 12:59
blay blay blah who knows what
TheInstitute 5467
telephone line 4125526987 x 4567
bump phone line 4125527777
bump pony pony oops 4125527777
datetime 2011110516 13:51
blay blay blah who knows what, but anyway it may have a comma
TheInstitute 5467
telephone line 4125526987 x 4567
datetime 2011110516 14:56
blay blay blah who knows what
यहाँ उत्पादन की तरह दिखना चाहिए है के नवीनतम अनुकरण है। असल में यह एक कदम है जो मुझे चाहिए। मैं नीचे एक आर डेटा.फ्रेम का ASCII पाठ प्रस्तुतिकरण रख रहा हूं। आप देखेंगे कि सबकुछ डेटा फ्रेम में है लेकिन फ़ील्ड मान दो स्तंभों द्वारा स्थानांतरित किए जाते हैं क्योंकि कुछ रिकॉर्ड में दो अतिरिक्त फ़ील्ड होते हैं।
structure(list(institution = structure(c(1L, 1L, 1L, 1L, 1L), .Label = "TheInstitute 5467", class = "factor"),
telephoneline = structure(c(1L, 1L, 2L, 1L, 1L), .Label = c("telephone line 4125526987 x 4567",
"telephone line 412552999 x 4999"), class = "factor"), date.or.bump = structure(c(2L,
3L, 1L, 1L, 4L), .Label = c("bump phone line 4125527777",
"datetime 2011110516 12:56", "datetime 2011110516 12:58",
"datetime 2011110516 14:56"), class = "factor"), field4 = structure(c(2L,
1L, 3L, 3L, 1L), .Label = c("blay blay blah who knows what",
"blay blay blah who knows what, but anyway it may have a comma",
"bump pony pony oops 4125527777"), class = "factor"), field5 = structure(c(1L,
1L, 2L, 3L, 1L), .Label = c("", "datetime 2011110516 12:59",
"datetime 2011110516 13:51"), class = "factor"), field6 = structure(c(1L,
1L, 2L, 3L, 1L), .Label = c("", "blay blay blah who knows what",
"blay blay blah who knows what, but anyway it may have a comma"
), class = "factor")), .Names = c("institution", "telephoneline",
"date.or.bump", "field4", "field5", "field6"), class = "data.frame", row.names = c(NA,
-5L))
पुनश्च: हूँ मुझे विश्वास है को सही है कि एक पोस्ट dput का उपयोग कर या एक एक .Rdata सीधे कोई फ़ाइल को यहां बचा सकता है द्वारा एक डेटा फ्रेम।
आप कृपया समझा सकते हैं कि '[[1]]' पहली पंक्ति में कर रहा है? – Farrel
strsplit चरित्र वेक्टर के प्रत्येक तत्व के लिए वैक्टरों की सूची लौटाता है (यहां तक कि लंबाई के चरित्र वेक्टर के लिए भी)। हमें इस सूची में पहले तत्व की आवश्यकता है ताकि [[1]] इसे प्राप्त करने के लिए उपयोग किया जा सके। दूसरी पंक्ति पर एक ही फ़ंक्शन का उपयोग किया जाता है। –
ओह, तो क्या यह एक सूची को सदिश बनाने का एक तरीका होगा जब तक कि केवल एक ही तत्व चाहता था? – Farrel