[英]Matlab or R: replace elements in matrix by values from another matrix in order
我在Matlab或R(最好在R)中要解決的問題。
想象一下,我有一個包含10個元素的向量A。
我還有一個包含30個元素的向量B,其中10個具有值“ x”。
現在,我要按照在A中建立的順序,用從A 中獲取的相應值替換B中的所有“ x”。 一旦獲取了A中的一個值,當在B中找到下一個“ x”時,就可以使用下一個。
請注意,A和B的大小不同,這是“ x”像元的數量與A的大小一致。
我嘗試了不同的方法。 關於如何編程的任何建議?
只要B
中的x
個條目的數量與A
的長度匹配,就可以完成您想要的操作:
B[B=='x'] <- A
(應該清楚這是R
解決方案。)
在MATLAB中,它非常簡單,請使用邏輯索引:
B(B == 'x') = A;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.