全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1083 4
2017-02-27
悬赏 15 个论坛币 已解决
现在碰到一个问题

X是一个vector,长度为100
Y是一个matrix,由很多1~100的整数构成

想得到一个新的矩阵Z,行数和列数都和Y相同,每一个值都是Y元素在X中的值,可以理解为Z=X[Y]

不想用for~有什么比较好的方法咩~~求助!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-2-27 16:16:00
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-2-27 16:35:22
不知道是不是我没怎么理解,如果Y中的元素不全是在X中的话,Z的行数和列数就不能等于Y;换句话说,如果Y和Z一样大,同时Z的元素又来自于Y,楼主是想排一下序?
如果Y中的元素有的不在X中,那个缺值可以用0替换么?如果可以的话,可以尝试以下方法:
x = c(1,4,5,1,2,3,8,9,11,15,17)
y = matrix(1:25,5,5)
z = matrix(y%in%x,nrow(y),ncol(y))
z[z == T] = 1
z = z*y
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-2-27 16:42:55
wuyi0614 发表于 2017-2-27 16:35
不知道是不是我没怎么理解,如果Y中的元素不全是在X中的话,Z的行数和列数就不能等于Y;换句话说,如果Y和Z ...
啊不是这样的……我表述问题
举个例子
X<-c(1.5, 2.5, 3.5)是个长度为三的向量
然后Y是个2*2的矩阵,Y每个元素都在1:length(X)之间且是个整数
假设Y<-matrix(c(1,3,2,1),2,2)
那么我想要得到一个新的矩阵Z
Z<-matrix(c(X[1],X[3],X[2],X[1]),2,2)

不知道可以怎么实现~~~求教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-2-27 16:48:13
你自己已经解决了
z <- matrix(x[y], ncol = ncol(y))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群