小编mil*_*mil的帖子

r将2个文件与for循环比较并划分某些列

请帮忙!

我是R的新手并试图进入它.我一直得到同样的警告:

    Warning messages:
 1: In if ((AttrSum[i, 1] == AllAttr[i:length(AllAttr), 1])) { :  the condition has length > 1 and only the first element will be used        
Run Code Online (Sandbox Code Playgroud)

我有3个csv文件.1- AttrSum [90,2]有90行,2列.... 2-TC_RC [80,12] ... 3-AllAttr [70,20]有20列70行.我想检查AttrSum [,1]的第一列是否等于TC_RC [,12]的第12列,然后将AllAttr [,19]的第19列分成AttrSum的第2列[,2]和相应的第1列(存在于TC_RC [,12] = RC_ind中.我这样做:

 AttrSum <-read.csv()
AllAttr <- read.csv()

RC_sum <-AttrSum [AttrSum [,1]%in%TC_RC[,12], col_ind]# values
RC_ind <- AttrSum [(AttrSum [,1] %in%TC_RC[,12]), 1]#names


len_attrSum <- length (AttrSum)
CV <- c()

for (i in 1:len_attrSum){


if (all(RC_ind [i] == AllAttr[i:length(AllAttr),1])){

CV[i] <- (RC_sum[i]/AllAttr[,19])

} …
Run Code Online (Sandbox Code Playgroud)

loops r

2
推荐指数
1
解决办法
294
查看次数

找到2个数组matlab之间的最小/最大减法组合

我有两个角度阵列:a = [140 360 170 3]; b = [12 270 0 21]; 我需要找到在减去(/添加)数组元素时最小化的组合.我现在正在这样做:

c = [ones(1,4)*a(1)-b; ones(1,4)*a(2)-b; ones(1,4)*a(3)-b; ones(1,4)*a(4)-b];

cc= abs(c);

[minNumk, minIndkl] = min(cc(:));
[rowk, colk] = ind2sub(size(cc), minIndkl);
cc(rowk,:)=[];
cc(:,colk)=[];

 [min2k,minInd2k]=min(cc(:));
 [row2k, col2k] = ind2sub(size(cc), minInd2k);
 cc(row2k,:)=[];
 cc(:,col2k)=[];

 [min3k,minInd3k]=min(cc(:));
 [row3k, col3k] = ind2sub(size(cc), minInd3k);
 cc(row3k,:)=[];
 cc(:,col3k)=[];
 min4k= cc;
total=minNumk+min2k+min3k+min4k
Run Code Online (Sandbox Code Playgroud)

题.有没有办法以更简洁的方式做到这一点?另外我在想我需要在这里使用mod(,360)吗?

编辑:如果元素被使用(减去),那么它就不能再使用了.(因此,删除整行和列.)

提前致谢!!!

任何建议将非常感谢!快乐10 000 000!:)

arrays matlab angle min subtraction

0
推荐指数
1
解决办法
138
查看次数

标签 统计

angle ×1

arrays ×1

loops ×1

matlab ×1

min ×1

r ×1

subtraction ×1