0
我有一个元组列表,作为我的Python程序的输出,并希望将R用于某些数据图。如何从元组列表中创建2个data.frame列?
所以从[(1,2),(3,4),(0,9)]
Python列表,我要来A R data.frame
的
x y
1 2
3 4
0 9
我只是不能似乎找到一种简单的方法来做到这一点。
我有一个元组列表,作为我的Python程序的输出,并希望将R用于某些数据图。如何从元组列表中创建2个data.frame列?
所以从[(1,2),(3,4),(0,9)]
Python列表,我要来A R data.frame
的
x y
1 2
3 4
0 9
我只是不能似乎找到一种简单的方法来做到这一点。
如果输入一个字符串,你可以尝试:
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)])
如果你想有一个数字输出,使用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
什么会是R脚本的输入吗?一个字符串?或者是什么? – m0nhawk
目前我只是打印我的python列表到标准输出,所以一个字符串我管道到R可能,是的 – voiDnyx
如何把它变成一个合适的表在Python中,然后存储为'羽毛“或CSV和读取到R? –