从python到R:嵌套列表

从python到R:嵌套列表,python,r,Python,R,我有python的空间坐标数据,看起来像这样: [[179.0, -79.0], [127.0, 301.0], [-92.0, 310.0]] 我正在用R分析这些数据,但我不知道如何获取单个坐标,即如何到达[179.0,-79.0]。我尝试了不同的索引选项,但没有运气。仅作为上下文,我的dataframe有一个列,其中包含python列表 任何帮助都将不胜感激。谢谢 澄清: 我想知道是否可以从中提取单个坐标 “[-188.0,-261.0]、-183.0,-30.0]、[88.0,-26.0

我有python的空间坐标数据,看起来像这样:

[[179.0, -79.0], [127.0, 301.0], [-92.0, 310.0]]
我正在用R分析这些数据,但我不知道如何获取单个坐标,即如何到达
[179.0,-79.0]
。我尝试了不同的索引选项,但没有运气。仅作为上下文,我的dataframe有一个列,其中包含python列表

任何帮助都将不胜感激。谢谢

澄清:

我想知道是否可以从中提取单个坐标
“[-188.0,-261.0]、-183.0,-30.0]、[88.0,-26.0]、[11.0339.0]、-198.0323.0]、-115.0,-8.0]”
在R

这就是R中的数据。我将一个csv文件加载到一个数据框中,并且
df$click\u pos
中的每个观察值
“[-188.0,-261.0]、-183.0,-30.0]、[88.0,-26.0]、[11.0339.0]、-198.0323.0]、-115.0,-8.0]”

那么,我可以从上面提取
[-183.0,-30.0]

dfgood['点击位置][[1][1]

[1] [[-188.0, -261.0], [-183.0, -30.0], [88.0, -26.0], [11.0, 339.0], [-198.0, 323.0], [-115.0, -8.0]]
25 Levels: [[-102.0, 348.0], [-104.0, -37.0], [258.0, 87.0], [234.0, 418.0], [-93.0, 312.0], [118.0, -41.0]] ...   
请注意,
typeof(dfgood['click_pos'][[1]][1])
给出类型
int

当我执行
dfgood['click_pos'][[1]]
时的R数据:

[1] [[-188.0, -261.0], [-183.0, -30.0], [88.0, -26.0], [11.0, 339.0], [-198.0, 323.0], [-115.0, -8.0]] 

[2] [[-12.0, 78.0], [4.0, -186.0], [170.0, -138.0], [45.0, 254.0], [-153.0, 232.0], [-140.0, -37.0], [-227.0, -28.0], [-62.0, -12.0]]  
.
.
.
[24] [[-14.0, 270.0], [-28.0, -164.0], [-302.0, -119.0], [-324.0, -278.0], [22.0, -259.0], [-316.0, -106.0]]                                 
25 Levels: [[-102.0, 348.0], [-104.0, -37.0], [258.0, 87.0], [234.0, 418.0], [-93.0, 312.0], [118.0, -41.0]] ...
dput(头部(df))--修剪


我在重新创建您的数据时遇到问题,所以我假设您来自python,并且您的数据看起来是这样的:
[[179.0,-79.0],[127.0301.0],-92.0310.0]
-python风格

使用
R
code重新创建它:

df <- list(list(179.0, -79.0), 
       list(127.0, 301.0),
       list(-92.0, 310.0))
我们可以看到,我们有一个列表,其中有3个列表。 接下来,我们可以开始使用
[]
和索引从列表中获取每个列表/项目(不要忘记,与
python
不同,
R
使用1索引):

如果将键入
df[1]
将进入我们的第一个列表:

[[1]]
[[1]][[1]]
[1] 179

[[1]][[2]]
[1] -79
df[[1]]
[[1]]
[1] 179

[[2]]
[1] -79
但是如果将执行
df[[1]]
将从我们的第一个列表中获得第一个项目:

[[1]]
[[1]][[1]]
[1] 179

[[1]][[2]]
[1] -79
df[[1]]
[[1]]
[1] 179

[[2]]
[1] -79
如果我们使用像这样的第二个索引
df[[1]][1]
,我们将得到列表中的第一项:

[[1]]
[1] 179
我认为来自和的图片非常有用:

我在重新创建数据时遇到问题,所以我假设您来自python,并且您的数据看起来是这样的:
[[179.0,-79.0],[127.0,301.0],-92.0,310.0]
-python风格

使用
R
code重新创建它:

df <- list(list(179.0, -79.0), 
       list(127.0, 301.0),
       list(-92.0, 310.0))
我们可以看到,我们有一个列表,其中有3个列表。 接下来,我们可以开始使用
[]
和索引从列表中获取每个列表/项目(不要忘记,与
python
不同,
R
使用1索引):

如果将键入
df[1]
将进入我们的第一个列表:

[[1]]
[[1]][[1]]
[1] 179

[[1]][[2]]
[1] -79
df[[1]]
[[1]]
[1] 179

[[2]]
[1] -79
但是如果将执行
df[[1]]
将从我们的第一个列表中获得第一个项目:

[[1]]
[[1]][[1]]
[1] 179

[[1]][[2]]
[1] -79
df[[1]]
[[1]]
[1] 179

[[2]]
[1] -79
如果我们使用像这样的第二个索引
df[[1]][1]
,我们将得到列表中的第一项:

[[1]]
[1] 179
我认为来自和的图片非常有用:

欢迎来到stackoverflow!请记住总是缩进您的代码。您可以通过高亮显示代码,然后按CTRL+K或CMD+K,或使用4个空格来完成此操作。或者,您可以使用```包装您的代码,这将导致代码像这样显示
。啊,谢谢@Jane您已经向我们展示了您的数据在python中的外观,但为了帮助您,我们需要您在R中的数据。请使用
dput
创建R数据的文本版本,并将其粘贴到您的问题中。如果您的数据太长,您可以使用类似于
dput(head(MyData))
的内容,以您现有的格式向我们展示一个小样本。对此表示抱歉。数据集相当大(或管理不善)。我试着把它剪下来,使它适合这里。我觉得很乱。让我知道是否有其他方法可以提供关于R数据的更多信息。这是一个csv文件(python输出)。谢谢欢迎来到stackoverflow!请记住总是缩进您的代码。您可以通过高亮显示代码,然后按CTRL+K或CMD+K,或使用4个空格来完成此操作。或者,您可以使用```包装您的代码,这将导致代码像这样显示
。啊,谢谢@Jane您已经向我们展示了您的数据在python中的外观,但为了帮助您,我们需要您在R中的数据。请使用
dput
创建R数据的文本版本,并将其粘贴到您的问题中。如果您的数据太长,您可以使用类似于
dput(head(MyData))
的内容,以您现有的格式向我们展示一个小样本。对此表示抱歉。数据集相当大(或管理不善)。我试着把它剪下来,使它适合这里。我觉得很乱。让我知道是否有其他方法可以提供关于R数据的更多信息。这是一个csv文件(python输出)。谢谢非常感谢你的解释!不过我觉得我的问题有点不同。我试图在我的问题中进一步澄清这一点。简而言之,
typeof(dfgood['click_pos'][[1]][1])给出了int类型,看起来
click_pos
是一个因素。因此,当您访问一个元素时,它会给您它的值,而不是它的标签。尝试使用
varhandle::unfactor()
as.character(dfgood$click\u pos)
将变量取消分割/更改为字符向量。非常感谢您的解释!不过我觉得我的问题有点不同。我试图在我的问题中进一步澄清这一点。简而言之,
typeof(dfgood['click_pos'][[1]][1])给出了int类型,看起来
click_pos
是一个因素。因此,当您访问一个元素时,它会给您它的值,而不是它的标签。尝试使用
varhandle::unfactor()
as.character(dfgood$click_pos)
将变量取消分割/更改为字符向量。