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)