R 如何获取矩阵中所有列表元素的第一个元素

R 如何获取矩阵中所有列表元素的第一个元素,r,list,R,List,我有这个数据集 my_coords <- structure(list(50.7642396, 6.0932425, 50.7289167, 6.1779893, 50.7559189, 6.1466953, 50.7980556, 6.0602183, 50.7744281, 6.0836151, 50.7743273, 6.1065564, c(50.764164, 50.7689394 ), c(6.0620818, 6.0684758)), .Dim =

我有这个数据集

my_coords <- structure(list(50.7642396, 6.0932425, 50.7289167, 6.1779893, 
    50.7559189, 6.1466953, 50.7980556, 6.0602183, 50.7744281, 
    6.0836151, 50.7743273, 6.1065564, c(50.764164, 50.7689394
    ), c(6.0620818, 6.0684758)), .Dim = c(2L, 7L), .Dimnames = list(
    c("lat", "lng"), NULL))
在第7列中,我有非常相似的值,我只想得到其中一个。最好是第一个

如何以通用的方式做到这一点

我尝试了
lappy(我的_coords,[[”,1)
。但是这并不是我想要的。我可以手动将值重新组合在一起,但必须有一种更聪明的方法

所需输出为:

    [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]    
lat 50.76424 50.72892 50.75592 50.79806 50.77443 50.77433 50.76416
lng 6.093242 6.177989 6.146695 6.060218 6.083615 6.106556 6.062082

您可以使用
sapply
(与您尝试的类似)提取这些值,并将输出包装到
矩阵中

matrix(
  sapply(my_coords , "[[", 1),
  nrow = dim(my_coords)[1],
  dimnames = dimnames(my_coords)
)
#         [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]
#lat 50.764240 50.728917 50.755919 50.798056 50.774428 50.774327 50.764164
#lng  6.093242  6.177989  6.146695  6.060218  6.083615  6.106556  6.062082

@RonakShah在评论中提到的另一个选项是

my_coords[] <- sapply(my_coords , "[[", 1)

my_coords[]
my_coords[,7]或
my_coords[]谢谢@Ronaksah这是个不错的选择。但正如你所知,这会覆盖
my_coords
,我们不知道这是否是有意的。
my_coords[] <- sapply(my_coords , "[[", 1)