永发信息网

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

答案:1  悬赏:60  手机版
解决时间 2021-03-29 17:52
  • 提问者网友:十年饮冰
  • 2021-03-28 23:07
R语言中,已知一个m行n列的数据框,每列的列名为字符串,如s1,s2,s3,s4...,如何根据列名求该列的索引?
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-03-29 00:37
% 使用 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函数来解决问题
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯