2016-12-18 30 views
0

Iは、CSVは、以下の構造を持つファイルを有する:複数のエントリ単一セル

Age Sex Ailments 
73  F Diabetes; Mobility; Hypertension 
70  M Hypertension; Memory problems; 
68  M Hypertension; Diabetes 

「病気」の列は、で区切ら複数の要素「を有します;」。

「病気」の複数の項目には2つのオプションがあります。どちらもフラットなリストであり、その場合、すべてのエントリの優先度は同じです。プライオリティ・リストです。Primary、Secondary、Tertiaryなどのエントリの下に、複数のテーブルが必要です。

Ailment  Male  Female 
Diabetes  65.4%  71.45% 
Hypertension 75.23% 68.23% 
Memory   19.23% 24.34% 

ご協力いただきまして誠にありがとうございます。

s1b。

答えて

0

我々は

library(splitstackshape) 
dcast(cSplit(df1, "Ailments", ";", "long"), Ailments~Sex, value.var="Age", 
     sum)[, (2:3) := lapply(.SD, function(x) round(100*x/sum(x), 2)), .SDcols = 2:3][] 
+0

おかげで非常にこれを行うことができます! – user1994911

+0

@ user1994911コメントありがとうございました。 [ここ](http://stackoverflow.com/help/someone-answers)にチェックを入れることもできます。 – akrun

関連する問題