replace numbers in the matrix
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
Hello,
I have a matrix of 6 columns (an example attached here) that are: trials, stimulus IDs, Hit, Miss, CR, FA.
Hit, Miss, CR, FA columns are coded as a 0 and 1. Sometimes  the correspondent rows in FA and CR column are coded with 1. I need to correct this and everywhere when FA row = 1 replace correspondent row im CR column  with 0 
Can anyone help with this?
1 个评论
  Torsten
      
      
 2022-12-18
				Better you immediately give the matrix you expect as result in the above case to avoid unnecessary attempts.
采纳的回答
  Image Analyst
      
      
 2022-12-18
        
      编辑:Image Analyst
      
      
 2022-12-18
  
      Try this:
data = readmatrix('trial.log.xlsx');
% Colulmns are: trials, stimulus IDs, Hit, Miss, CR, FA.
% Find where last column, FA, is 1
rows1 = data(:, end) == 1;
% "replace correspondent row im CR column from with 0 "
% In English: "replace the element in the corresponding row in the CR column with 0"
data(rows1, 5) = 0
4 个评论
  Image Analyst
      
      
 2022-12-19
				
      编辑:Image Analyst
      
      
 2022-12-19
  
			Oh, I thought that "Sometimes  the correspondent rows in FA and CR column are coded with 1" but that you only wanted to set CR to zero when "when FA row = 1".  But if what you really meant was "when FA row = 1 AND when CR row = 1", then you can make the obvious change:
data = readmatrix('trial.log.xlsx');
% Colulmns are: trials, stimulus IDs, Hit, Miss, CR, FA.
% Find where 5th column is 1 and the last column, FA, is 1.
% That is, both 1 in the same row.
rows1 = (data(:, 5) == 1) & (data(:, end) == 1);
% "replace correspondent row im CR column from with 0 "
% In English: "replace the element in the corresponding row in the CR column with 0"
data(rows1, 5) = 0
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


