总和矢量与相应的名称
发布时间:2020-12-15 04:10:21 所属栏目:Java 来源:网络整理
导读:假设你有一个向量列表: L = list()L[[1]]= c(2,34,6,7,3)L[[2]]= c(3,4,8,1)names(L[[1]])=c("A","B","C","D","E")names(L[[2]])=c("A","R","F")L## [[1]]## A B C D E ## 2 34 6 7 3 ## ## [[2]]## A R C D F ## 3 4 6 8 1 我想用每个元素的名称对2个向量
假设你有一个向量列表:
L = list() L[[1]]= c(2,34,6,7,3) L[[2]]= c(3,4,8,1) names(L[[1]])=c("A","B","C","D","E") names(L[[2]])=c("A","R","F") L ## [[1]] ## A B C D E ## 2 34 6 7 3 ## ## [[2]] ## A R C D F ## 3 4 6 8 1 我想用每个元素的名称对2个向量求和…结果: A B C D E F R 5 34 12 15 3 1 4 谢谢 解决方法
使用tapply的另一个解决方案
> tapply(unlist(L),names(unlist(L)),sum) A B C D E F R 5 34 12 15 3 1 4 编辑 即使您的矢量具有不同的长度,它也会起作用,请参见示例: > L = list() > L[[1]]= 1:10 > L[[2]]= c(3,1) > names(L[[1]])=LETTERS[1:10] > names(L[[2]])=c("A","F") > tapply(unlist(L),sum) A B C D E F G H I J R 4 2 9 12 5 7 7 8 9 10 4 # IT WORKS!!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |