R语言中,已知一个m行n列的数据框,每列的列名为字符串,如s1,s2,s3,s4...,如何根据列名求该列的索引?

如上所述,R语言中,已知一个m行n列的数据框,每列的列名为字符串,如s1,s2,s3,s4...,如何根据列名求该列的索引值(即求其位于第几列)?

% 使用 reshape(X ,m,n)函数
% 先了解一下reshape的基本用法
% 简而言之就是将矩阵X—>m*n的新矩阵
% 例如:将 3*4的A矩阵—>2*6的B矩阵
A =[1    4    7    10
    2    5    8    11
    3    6    9    12];

B = reshape(A,2,6);
% 等价于 B = reshape(A(:),2,6)
% 等价于 B = reshape(A(:),2,[])


% 上面运行结果为
B =[ 1     3     5     7     9    11
     2     4     6     8    10    12];
 
% 分析:
% 因为 MATLAB会将A转换成A(:)
% 按列输出 A(:)=[1,2,3,4,5,6,7,8,9,10,11,12];
% 对B,注意B是2行6列,同样MATLAB会按列输入
% B =[ 1     3     .     .     .    11
%      2     .     .     .    10    12];

% 你说的意思,是不是矩阵A的每一列,按列元素拍在一行?
% 第一种方法:
    C = reshape(A,1,[]);
% 第二种方法:
    C=A(:)';


 由于没能完全理解题主的意思,题主可以根据我说的,按照reshape函数来解决问题

温馨提示:答案为网友推荐,仅供参考
相似回答