Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从嵌套列表中提取列表的第一项_R_List_Datatable - Fatal编程技术网

R 从嵌套列表中提取列表的第一项

R 从嵌套列表中提取列表的第一项,r,list,datatable,R,List,Datatable,我的数据表中有以下列(里面有更多的列表,但我只是提供了简化的列表) 我想从行中的每个列表中提取第一个值。所以,我想要结果 n col2 1 c("1", "5") 2 c("9", "13") 我在这里和互联网上查阅了很多关于嵌套列表的例子,看起来应该很容易,但似乎并不像我所希望的那样有效。我使用以下代码变体 1. dt$col2 <-sapply(dt$col1 , "[[", 1) `2. dt$col2 <- lapply(dt$col1, function(

我的数据表中有以下列(里面有更多的列表,但我只是提供了简化的列表)

我想从行中的每个列表中提取第一个值。所以,我想要结果

n  col2
1  c("1", "5")
2  c("9", "13")
我在这里和互联网上查阅了很多关于嵌套列表的例子,看起来应该很容易,但似乎并不像我所希望的那样有效。我使用以下代码变体

   1. dt$col2 <-sapply(dt$col1 , "[[", 1)
  `2. dt$col2 <- lapply(dt$col1, function(l) l[[1]])`
  `3. dt$col2 <- rvest::pluck(dt$col1, 1)`
我的理解肯定有问题,但我不明白为什么会这样

试试:

dt$col2 <-sapply(dt$col1 , "[", 1)
dt$col2试试:


dt$col2它仍然提供相同的输出:(抱歉,没有看到它是一个data.table。请尝试:dt$col2谢谢!很遗憾,我仍然没有得到它。可能只是因为我是R新手。现在它显示意外的标记”,“在这个地方:函数(y),Lol抱歉,再次编辑。发生的情况是,您将函数whcih应用于df1$col1的每个元素,该函数返回sappy(x,“[”,1)。(您的数据帧有点复杂,因此解决方案太复杂!)它仍然提供相同的输出:(很抱歉,没有看到它是一个data.table。请尝试:dt$col2谢谢!很遗憾,我仍然没有理解它。可能这只是因为我是R的新手。现在它说的是意外的标记”,“在这里:function(y),Lol抱歉,再次编辑。发生的事情是,您应用到df1$col1的每个元素,函数whcih返回sapply(x,“[”,1)。(您的数据帧有点复杂,所以解决方案也太复杂了!)
n  col2
1  c("1", "2", "3", "5")
2  c("9", "10", "11", "12")
dt$col2 <-sapply(dt$col1 , "[", 1)
 dt$col2 <- sapply(dt$col1,function(x){sapply(x,'[',1)})