की एक सूची के लिए एक data.frame परिवर्तित मैं कैसे सूचियों की एक सूचीसूचियों
LoL <- list(list(id="af1", start=100, end=114), list(id="af2", start=115, end=121))
मैं
not.LoL <- as.list(as.data.frame(t(df)))
तरह बातें की कोशिश की है करने के लिए एक data.frame
df <- data.frame(id=c("af1", "af2"), start=c(100, 115), end=c(114,121))
परिवर्तित कर सकते हैं
और मुझे सच में यकीन नहीं है कि इसके बाद मैं क्या कर रहा हूं, लेकिन यह बिल्कुल सही नहीं है। मेरे आवश्यकता है कि मैं उपयोग कर सकते हैं, कहते हैं, आदेश द्वारा पहले start
है
> LoL[[1]]$start
[1] 100
not.LoL
कि मैं वर्तमान में है मुझे निम्न त्रुटि देता है:
> not.LoL[[1]]$start
Error in not.LoL[[1]]$start : $ operator is invalid for atomic vectors
स्पष्टीकरण और/या समाधान बहुत होगा की सराहना की।
संपादित करें: मुझे यह स्पष्ट करना चाहिए था कि "आईडी" वास्तव में गैर-अद्वितीय है - एक आईडी के तहत कई तत्व हो सकते हैं। तो मैं ऐसे समाधान के साथ कर सकता हूं जो अद्वितीय आईडी पर split
पर निर्भर नहीं है।
[सूचियों की सूची में रीशेप मैट्रिक्स का संभावित डुप्लिकेट] (http://stackoverflow.com/questions/9195112/reshape-matrix-into-a-list-of-lists) – agstudy
@agstudy: डुप्लिकेट नहीं: वह एक ragged arrays और 'tapply' के बारे में है, जबकि यह यहां आयताकार प्रतीत होता है और इसलिए नीचे दिखाए गए अनुसार 'lapply' का उपयोग करके हल किया जा सकता है) (http://stackoverflow.com/a/14730102/1468366)। – MvG
@ एमवीजी संख्या। पहला समाधान देखें, वह 2 समाधान प्रस्तावित करता है, एक 'लापली' वाला है जो स्पष्ट रूप से यहां प्रस्तावित एक ही समाधान है। और मेरा जवाब यहां मेरी तरह dlply का उपयोग कर। – agstudy