Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 函数类似于Matlab中的head()_Arrays_R_Matlab - Fatal编程技术网

Arrays 函数类似于Matlab中的head()

Arrays 函数类似于Matlab中的head(),arrays,r,matlab,Arrays,R,Matlab,我只是想知道Matlab中是否有一个简单的等价物head()中的R?它应该显示/打印数组的前5行。因此,给定以下表 var1 = transpose(1:6); var2 = transpose(2:7); aa = table(var1,var2); 我正在寻找一个功能xx,它可以产生以下功能: aa(1:5,:) ans= var1 var2 ____ ____ 1 2 2 3 3 4 4 5 5

我只是想知道
Matlab
中是否有一个简单的等价物
head()
中的
R
?它应该显示/打印数组的前5行。因此,给定以下

var1 = transpose(1:6);
var2 = transpose(2:7);
aa = table(var1,var2);
我正在寻找一个功能
xx
,它可以产生以下功能:

aa(1:5,:)
ans=

var1    var2
____    ____

1       2   
2       3   
3       4   
4       5   
5       6   
比如:

xx(aa)

当然,我可以继续使用上面的索引,但是使用函数会更方便。我在
R
中大量使用了
head()
,如果您只需要最上面的几行,那么只需键入
mydata[1:5,]

我使用了以下来自某个人的玩具:-)
cgwtools
package,它允许您指定要显示的项目数量,如果需要,还可以选择跳过一些元素。碰巧的是,我选择不保留维度,以便更容易检查
列表
对象。请随意使用此代码并根据您的需要进行修改(例如,如果您只需要数据的“头”,请删除返回最后一个
numel
元素的部分)


short这里有两个函数相当于R中的head()和tail()。您只需将源代码复制/粘贴到一个.m文件中,并将其保存到所需的目录中即可:

function head(data, varargin)
%head - displays the first n rows of an array
%
% Syntax:  head(data, n)
%
% Inputs:
%    data - data to display (table, double)
%    n - number of rows (integer, optional input)
%
% Author: Daniel A. Brodén
% KTH, Royal Institute of Technology, Osquldas Väg 10, 100 44, Stockholm
% email: danbro@kth.se
% Website: http://www.kth.se/profile/danbro
% August 2015; Last revision: Aug-2015
% Define parser object
p = inputParser;

% Required inputs
addRequired(p, 'data')

% Default values
default_n = 10;                                 

% Optional inputs
checkInt = @(x) validateattributes(x,{'numeric'},{'integer','positive'});
addOptional(p, 'n', default_n, checkInt)

% Parse inputs
parse(p, data, varargin{:})

% Conditions
if size(p.Results.data, 1) < p.Results.n
    error('Not enough rows')
end

% Return
data(1:p.Results.n,:)
end
功能头(数据,varargin)
%head-显示数组的前n行
%
%语法:head(数据,n)
%
%投入:
%数据-要显示的数据(表格,双精度)
%n-行数(整数,可选输入)
%
%作者:Daniel A.Brodén
%皇家理工学院,奥斯库达斯Väg 1010044,斯德哥尔摩
%电邮:danbro@kth.se
%网站:http://www.kth.se/profile/danbro
%2015年8月;最后修订日期:2015年8月
%定义解析器对象
p=输入解析器;
%所需输入
addRequired(p,“数据”)
%默认值
默认值为10;
%可选输入
checkInt=@(x)validateattributes(x,{'numeric'},{'integer','positive'});
addOptional(p,'n',default\u n,checkInt)
%解析输入
parse(p,data,varargin{:})
%条件
如果大小(p.Results.data,1)
尾部代码

function tail(data, varargin)
%tail - displays the last n rows of an array
%
% Syntax:  tail(data, n)
%
% Inputs:
%    data - data to display (table, double)
%    n - number of rows (integer, optional input)
%
% Author: Daniel A. Brodén
% KTH, Royal Institute of Technology, Osquldas Väg 10, 100 44, Stockholm
% email: danbro@kth.se
% Website: http://www.kth.se/profile/danbro
% August 2015; Last revision: Aug-2015

% Parser object
p = inputParser;

% Required inputs
addRequired(p, 'data')

% Default values
default_n = 10;

% Optional inputs
checkInt = @(x) validateattributes(x,{'numeric'},{'integer','positive'});
addOptional(p, 'n', default_n, checkInt)

% Parse inputs
parse(p, data, varargin{:})

% Conditions
if size(p.Results.data, 1) < p.Results.n
    error('Not enough rows')
end

% Return
data((size(data,1)-p.Results.n + 1):size(data,1),:)
end
函数尾部(数据,varargin)
%尾部-显示数组的最后n行
%
%语法:tail(数据,n)
%
%投入:
%数据-要显示的数据(表格,双精度)
%n-行数(整数,可选输入)
%
%作者:Daniel A.Brodén
%皇家理工学院,奥斯库达斯Väg 1010044,斯德哥尔摩
%电邮:danbro@kth.se
%网站:http://www.kth.se/profile/danbro
%2015年8月;最后修订日期:2015年8月
%解析器对象
p=输入解析器;
%所需输入
addRequired(p,“数据”)
%默认值
默认值为10;
%可选输入
checkInt=@(x)validateattributes(x,{'numeric'},{'integer','positive'});
addOptional(p,'n',default\u n,checkInt)
%解析输入
parse(p,data,varargin{:})
%条件
如果大小(p.Results.data,1)
您只需编写:

aa(1:min(5, end), :)

或者做一个同样的函数

为什么不自己编写呢?这听起来像是你用来制作原型的东西,所以如果它只在你的计算机上运行,就不应该成为问题。写下你自己的,并把它添加到你的路径上……没错,我也写了同样的。它看起来很容易创建。这只是一个有一行代码的傻瓜,写吧!是的,确实如此。我想它当时不存在……为什么不将
flipud(数据)
传递到
head
以获得
tail
函数?我想人们也可以使用flipud()函数。这里的优点是head()和tail()函数是相互独立的。但是,如果在其中一个函数中更新任何一个检查,则必须同时执行另一个检查……在“head”的末尾有一个额外的“end”。
aa(1:min(5, end), :)