@ patrickmdmnet का जवाब जाने का तरीका है, लेकिन मुझे थोड़ा उत्सुकता मिली और बस प्रोग्रामेटिक समाधान की कोशिश करना चाहता था। कैसे आर strplit() funciton काम मैं ज्यादातर के उत्सुक था:
# Test matrix
tmp.mtrx <- matrix(c("1;2", "3;4", "5;6", "7;8"), ncol=1)
# The split
tmp.split <- strsplit(tmp.mtrx, ";")
# Put it all together into a new matrix
new_matrix <- matrix(tmp.split[[1]], ncol=2)
for(i in 2:length(tmp.split)){
new_matrix <- rbind(new_matrix, tmp.split[[i]])
}
# Do the plot originally asked for
plot(new_matrix[,1], new_matrix[,2])
@ Chl - मैं असूचीबद्ध समारोह लिए देख रहा था, हालांकि बाद से मैं एक बहुत मैं प्रोग्रामिंग किया गया है समाधान पाश के बिना अच्छे बनाता है अक्सर यह मेरे कोड को अधिक पठनीय करने के लिए अच्छा लगता है अगर इसका प्रदर्शन पर बहुत अधिक प्रभाव नहीं पड़ता है। यहां कुछ और जटिल मैट्रिक्स के साथ च्ल का समाधान है:
# Test matrix
tmp.mtrx <- matrix(c("1;2", 55, "3;4", 75, "5;6", 85, "7;8", 88), ncol=2)
# The split
tmp.split <- strsplit(tmp.mtrx, ";")
# A vector with all the values, length = (ncol(tmp.mtrx) + 1)*nrow(tmp.mtrx)
tmp.data_vector <- unlist(tmp.split)
# Put it all together into a new matrix
new_matrix <- matrix(tmp.data_vector, ncol=(ncol(tmp.mtrx)+1), byrow=TRUE)
# Do the plot originally asked for
plot(new_matrix[,1], new_matrix[,2])
स्रोत
2011-08-05 21:01:16
यदि आप आर के साथ काम कर रहे हैं तो प्रिंट (...) 'की कोई ज़रूरत नहीं है। ऑटोप्रिंटिंग का अर्थ है कि जब आप ऑब्जेक्ट का नाम दर्ज करते हैं और हिट रिटर्न देते हैं, तो आर आपके लिए 'प्रिंट() 'आमंत्रित करता है। –
यह स्पष्ट रूप से काम नहीं किया है; आपके पास अब R में डेटा का एक स्तंभ है, कॉलम नाम 'X.Y' और आपके CSV फ़ाइल में मूल 2 कॉलम से डेटा सम्मिलित है। क्या आपकी फ़ाइल वास्तव में ** अल्पविराम ** अलग है। ऐसा लगता है कि इसे ';' से अलग किया गया है, जो बताता है कि आप एक विदेशी लोकेल में कंप्यूटर का उपयोग कर रहे हैं जहां आप दशमलव स्थान के रूप में ',' का उपयोग करते हैं। यदि ऐसा है, तो इसके बजाय 'read.csv2()' का उपयोग करें। यदि ऐसा है, तो कहानी का मनोबल यह जांचना है कि आपका डेटा सही तरीके से पढ़ा गया है। 'Str (foo)' और 'ncol (foo)', 'nrow (foo)' आदि का उपयोग करें, जहां 'foo' आपके डेटा वाले ऑब्जेक्ट है। –
@ गैविन: या 'sep = "का उपयोग करें;" ' – nico