このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
表内のデ,タへのアクセス
表は,列方向のデ,タを変数に格納するコンテナ,です。表格変数は、すべての変数の行数が同じであれば、データ型とサイズはそれぞれ異なっていてもかまいません。構造体のフィールドに名前があるのと同様に、table 変数にも名前があります。table の行は名前をもつことができますが、行名は必須ではありません。table データにアクセスするには、名前または数値インデックスを使用して、行と変数にインデックスを付けます。
表にescンデックスを付ける一般的な理由には以下が含まれます。
行や変数の並べ替えまたは削除。
配列を新しい行または変数として追加。
関数への入力引数として使用するために,デ,タの配列を抽出。
表aapl .ンデックス構文の概要
使用するインデックスのタイプに応じて,表から抽出されたサブテーブルまたは配列のいずれかにアクセスできます。次を使って@ @ンデックスを付けます。
小かっこ()は選択した行と変数をも表を返します。
ドット表記は変数の内容を配列として返します。
中かっこ{}は選択した行と変数の内容を連結した配列を返します。
行と変数は,名前,数値。R2019b以降,変数名と行名には,スペースや非ASCII文字など任意の文字を含めることができます。また,英字だけでなく任意の文字で始めることができます。変数名と行名は,有効なmatlab®識別子 (関数isvarname
で判定)である必要はありません。
出力のタ@ @プ |
構文 |
行 |
変数 |
例 |
---|---|---|---|---|
指定した行と変数を含む表 |
|
指定値:
|
指定値:
|
|
指定したデタ型をも変数を含む表 |
|
指定値:
|
|
|
1の変数からデタを抽出する配列 |
|
指定なし |
指定値:
|
|
1の変数と指定した行からデタを抽出する配列 |
|
配列の数値▪▪ンデックスまたは論理▪▪ンデックスとして指定 |
指定値:
|
|
指定した行と変数からのデ,タを連結した配列 |
|
指定値:
|
指定値:
|
|
指定した行と,指定したデタ型をも変数からのデタを連結した配列 |
|
指定値:
|
|
|
すべての行と変数からのデ,タを連結した配列 |
|
指定なし |
指定なし |
|
指定した行と変数を含む表
100人の患者のサンプルデタを病人
Matファルからワクスペス変数に読み込みます。
负载病人谁
名称大小字节分类属性年龄100x1 800双舒张期100x1 800双性别100x1 11412 cell身高100x1 800双姓氏100x1 11616 cell位置100x1 14208 cell自我评估健康状态100x1 11540 cell吸烟者100x1 100逻辑收缩期100x1 800双体重100x1 800双
表を作成し,それに年龄
、性别
、高度
、重量
、吸烟者
の各ワ,クスペ,ス変数を入力します。姓
の一意の識別子を行名として使用します。T
は100行5列の表です(行名を指定する場合,それらは表変数としてカウントされません)。
T = table(年龄,性别,身高,体重,吸烟,...“RowNames”、LastName)
T =100×5表年龄性别身高体重吸烟者 ___ __________ ______ ______ ______ 史密斯38{‘男性’}71 176真正的约翰逊43{‘男性’}69 163假威廉姆斯38{‘女性’}64 131假琼斯40{‘女性’}67 133假布朗49{‘女性’}64 119假戴维斯46{‘女性’}68 142假米勒33{‘女性’}64 142真正的威尔逊68{‘男性’}180假摩尔28{‘男性’}68 183假泰勒132年{‘女性’}66年31日假安德森45{‘女性’}68 128假托马斯137年42{‘女性’}66假杰克逊25{‘男性’}71 174假怀特39{'男'}72 202真哈里斯36{'女'}65 129假马丁48{'男'}71 181真`
数値▪▪ンデックスによる▪▪ンデックス付け
T
の最初の5行とすべての変数を含むサブテ,ブルを作成します。必要な行と変数を指定するには,小かっこで囲んだ数値。このタ▪▪プの▪▪ンデックスは,数値配列への▪▪ンデックスと似ています。
T1 = t (1:5,:)
T1 =5×5表年龄性别身高体重吸烟者___ __________ ______ ______ ______史密斯38{'男' 71 176真约翰逊43{'男' 69 163假威廉姆斯38{'女' 64 131假琼斯40{'女' 67 133假布朗49{'女' 64 119假
T1
は,5行5列の表です。
数値インデックスに加え,行名や変数名を小かっこ内で使用することができます(この場合,行インデックスとコロンを使用する方が行名や変数名を使用するよりもコンパクトです)。
名前による@ @ンデックス付け
姓が”威廉姆斯
および“棕色”
である患者に関するすべてのデ,タを選択します。T
には患者の姓を示す行名があるため,行名を使用してT
に@ @ンデックスを付けます。
T2 = t ({”威廉姆斯,“棕色”},:)
T2 =2×5表年龄性别身高体重吸烟者___ __________ ______ ______ ______威廉姆斯38{'女'}64 131假布朗49{'女'}64 119假
T2
は,2行5列の表です。
変数を名前で選択することもできます。T
の最初の5行と,変数高度
および重量
のみをも表を作成します。これを表示します。
T3 = t (1:5,{“高度”,“重量”})
T3 =5×2表身高体重______ ______史密斯71 176约翰逊69 163威廉姆斯64 131琼斯67 133布朗64 119
表変数の名前は,有効なMATLAB識別子である必要はありません。スペ,スや非ASCII文字を含めることができ,任意の文字で開始できます。
スペ,スとダッシュを含む変数名をT
に追加します。次に,変数名を使用してT
に@ @ンデックスを付けます。
T = addvars(T,SelfAssessedHealthStatus,“NewVariableNames”,“自我评估的健康状况”);T (1:5, {“年龄”,“抽烟”,“自我评估的健康状况”})
ans =5×3表年龄吸烟者自我评估健康状况_________ ___________________________史密斯38真{“优秀”}约翰逊43假{“一般”}威廉姆斯38假{“良好”}琼斯40假{“一般”}布朗49假{“良好”}
デ,タ型の添字の指定
名前や数値を使用して変数を指定する代わりに,同じデータ型をもつすべての変数で一致するデータ型添字を作成することができます。
まず,数値の表変数に対応するデ,タ型添字を作成します。
S = vartype(“数字”)
S = table vartype下标:选择匹配“numeric”类型的表变量。
T
の数値変数と最初の5行のみをも表を作成します。
T4 = t (1:5, s)
T4 =5×3表年龄身高体重___ ______ ______史密斯38 71 176约翰逊43 69 163威廉姆斯38 64 131琼斯40 67 133布朗49 64 119
ドット表記と論理値を使用したデ,タの抽出
病人
MATファescルから表を作成します。次に,ドット表記を使用して表変数からデ,タを抽出します。また,条件を満たす表変数の値から生成された論理インデックスを使用してインデックスを付けることもできます。
负载病人T = table(年龄,性别,身高,体重,吸烟,...“RowNames”、LastName);
変数からのデ,タの抽出
1。変数重量
から数値を抽出します。次に,これらの値のヒストグラムをプロットします。
直方图(T.Weight)标题(“病人体重”)
T.Weight
は,100行を含む倍精度の列ベクトルです。
論理@ @ンデックスによる行の選択
論理▪▪▪ンデックスの配列を使用して,配列や表に▪▪▪ンデックスを付けることができます。通常は,表変数のどの値が条件を満たすかを判定する論理式を使用します。式の結果は,論理。
たとえば,年齢が40
歳未満の患者に対応する論理@ @ンデックスを作成します。
年龄< 40岁
行=100x1逻辑阵列1 0 1 0 0 0 1 1 1
年齢が40
歳未満の患者の身長を抽出するには,行
を使用して変数高度
に@ @ンデックスを付けます。40
歳未満の患者は56人います。
T.Height(行)
ans =56×171 64 64 68 66 71 72 65 69 69
論理▪▪ンデックスを使用して表に▪▪ンデックスを付けることができます。40
歳未満の患者にいてT
の行を表示します。
T(行,:)
ans =56×5表年龄性别身高体重吸烟者 ___ __________ ______ ______ ______ 史密斯38{‘男性’}71 176真正的威廉姆斯38{‘女性’}64 131假米勒33{‘女性’}64 142真实摩尔183年{‘男性’}68年28日假泰勒132年66年{‘女性’}31日假杰克逊25{‘男性’}71 174假白39{‘男性’}72 202真正的哈里斯36{‘女性’}65 129假汤普森32{‘男性’}69 191 69年真正的加西亚27日{‘女性’}131真正的马丁内斯37{‘男性’}70 179假罗德里格斯39{‘女性’}64 117假沃克28{‘女性’}65 123true Hall 25{'男'}70 189假Allen 39{'女'}63 143假Young 25{'女'}63 114假`
1の論理式を使って複数の条件と照合することができます。40
歳未満の喫煙患者の行を表示します。
rows = (t .吸烟者==true & t .年龄<40);T(行,:)
ans =18×5表年龄性别身高体重吸烟者 ___ __________ ______ ______ ______ 史密斯38{‘男性’}71 176真正的米勒33{‘女性’}64 142真正的白色39{‘男性’}72 202真正的汤普森32{‘男性’}69 191 69年真正的加西亚27日{‘女性’}131真正的沃克28{‘女性’}65 123 67{‘男性’}186年真正国王真正的纳尔逊33{‘男性’}66 180真正的米切尔39{‘男性’}71 164真正的特纳37{‘男性’}70 194真正的桑德斯33{‘女性’}67 115实际价格31{‘男性’}72 178真正的69年詹金斯28日{‘男性’}189真的长39{'男'}68 182真帕特森37{'女'}65 120真弗洛雷斯31{'女'}66 141真`
任意の変数名や式を使用したドット表記
ドット表記を使用して▪▪ンデックスを付ける場合,変数の指定方法が2▪▪あります。
引用符なしの名前で指定。たとえば,
T.Date
は“日期”
という名前の変数を指定します。ドットの後の小かっこで囲まれた式で指定。たとえば,
t(“开始日期”)
は“开始日期”
という名前の変数を指定します。
表変数名が有効なMATLAB®識別子でもある場合は,最初の構文を使用します(有効な識別子は英字で始まり,英字,数字,アンダースコアのみを含みます)。
以下を指定する場合は,2目の構文を使用します。
表内の変数の位置を示す数値。
有効なmatlab識別子ではない変数名。
表内の変数の名前を出力としても関数,表またはに追加された変数。関数の出力は文字ベクトルまたは字符串スカラ,でなければなりません。
たとえば,病人
MATファescルから表を作成します。次に,ドット表記を使用して表変数の内容にアクセスします。
负载病人T = table(年龄,性别,身高,体重,吸烟,...“RowNames”、LastName);
表内の位置によって変数を指定するには,数値を使用します。年龄
はT
の最初の変数であるため,その位置を指定するには数値1
を使用します。
t (1)
ans =100×138 43 38 40 49 46 33 40 28 31 `
変数を名前で指定するには,引用符で名前を囲むことができます。“年龄”
は有効な識別子であるため,T.Age
またはt(年龄)
を使用して指定できます。
t (“年龄”)
ans =100×138 43 38 40 49 46 33 40 28 31 `
有効なMATLAB識別子でない表変数名も指定できます。変数名にはスペースや非 ASCII 文字を含めることができ、任意の文字で開始できます。ただし、こうした名前の table 変数にドット表記を使用してアクセスする場合は、小かっこを使用して名前を指定しなければなりません。
スペスとハフンを含む変数名をT
に追加します。
T = addvars(T,SelfAssessedHealthStatus,“NewVariableNames”,“自我评估的健康状况”);: T (1:5)
ans =5×6表年龄性别身高体重吸烟者自我评估健康状况_________________________ ______ ___________________________史密斯38{'男'}71 176真{'优秀'}约翰逊43{'男'}69 163假{'一般'}威廉姆斯38{'女'}64 131假{'良好'}琼斯40{'女'}67 133假{'一般'}布朗49{'女'}64 119假{'良好'}
ドット表記を使用して新しい表変数にアクセスします。最初の5の要素を表示します。
C = t。“自我评估的健康状况”);C (1:5)
ans =5 x1细胞{‘优秀’}{‘公平’}{‘好’}{‘公平’}{‘好’}
また,関数の出力を変数名として使用することもできます。変数T.("自我评估的健康状况")
を削除します。そのうえで,今日の日付が名前に含まれる変数に置き換えます。
t (“自我评估的健康状况”) = [];t (string (datetime (“今天”) +“自我报告”) = SelfAssessedHealthStatus;: T (1:5)
ans =5×6表年龄性别身高体重吸烟者-2021年4月30日-2021年4月自我报告___________________ ____________ _______________________史密斯38{'男'}71 176真{'优秀'}约翰逊43{'男'}69 163假{'一般'}威廉姆斯38{'女'}64 131假{'良好'}琼斯40{'女'}67 133假{'一般'}布朗49{'女'}64 119假{'良好'}
指定した行と変数からのデ,タの抽出
中かっこを使用したンデックスではデタが表から抽出され,その結果はサブテブルでは“なく”配列になります。しかし,その違いを除けば,小かっこを使用したインデックスの場合と同様に,数値,名前,データ型の添字を使用して行と変数を指定できます。表から値を抽出するには,中かっこを使用します。複数の表変数から値を抽出する場合,各変数のデ,タ型は連結可能でなければなりません。
行と変数の指定
病人
ファesc escルの数値配列と逻辑表配列からを作成します。
负载病人T =表(年龄,身高,体重,吸烟,...“RowNames”、LastName);
T
の複数の変数からデ,タを抽出します。ドット表記とは異なり、中かっこによるインデックス付けでは複数の table 変数から値を抽出し、連結して 1 つの配列にすることができます。
最初の5名の患者の身長と体重を抽出します。数値esc escンデックスを使用して最初の5行を選択し,変数名を使用して変数高度
と重量
を選択します。
A = t {1:5,{“高度”,“重量”}}
一个=5×271 176 69 163 64 131 67 133 64 119
一个
は5行2列の数値配列で,表ではありません。
変数名を1つ指定した場合,中かっこによるインデックス付けの結果は,ドット表記で得られる配列と同じになります。ただし,中かっこのaaplンデックスを使用する場合は,行と変数の両方を指定しなければなりません。たとえば,構文T.Height
と構文T{:,“高度”}
は同じ配列を返します。
すべての行と変数からのデ,タの抽出
すべての表変数のデ,タ型が互いに連結可能であれば,T.Variables
構文を使用してすべての表デタを1の配列に入れることができます。この構文はT {:,:}
と等価です。ここで,コロンはすべての行とすべての変数を示します。
A2 = t .变量
A2 =100×438 71 176 1 43 69 163 0 38 64 131 0 40 67 133 0 49 64 119 0 46 68 142 0 33 64 142 1 40 68 180 0 28 68 183 0 31 66 132 0 0