我有一个元组列表作为我的Python程序的输出,并希望将R用于某些数据图。
所以从[(1,2),(3,4),(0,9)]
的python列表中,我想来一个R data.frame
x y
1 2
3 4
0 9
我似乎无法找到一种简单的方法来做到这一点。
答案 0 :(得分:0)
如果输入是一个字符串,您可以尝试:
x="[(1,2),(3,4),(0,9)]"
x <- strsplit(gsub("\\[|\\(|\\)|\\]", "", x),",")[[1]]
cbind.data.frame(x=x[c(TRUE,FALSE)],y=x[c(FALSE,TRUE)])
答案 1 :(得分:0)
如果你想要数字输出,请使用strsplit ......
inp <- "[(1,2),(3,4),(0,9)]"
out <- gsub("(^\\[\\()|(\\)\\]$)", "", strsplit(inp, "\\)\\,\\(")[[1]])
out <- do.call(rbind, lapply(out, (function(el){
as.numeric(strsplit(el, "\\,")[[1]])
})))
out
结果是
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 0 9