に基づいてデータフレームの新しい列を作成し、移入:私は、この形式のCSV持っている既存の列の値
Col1_Status Col1_Value Col2_Status Col2_Value Col3_Status Col3__Value
LOW 5 HIGH 5 LOW 5
LOW 8 HIGH 8 LOW 8
HIGH 82 HIGH 8 LOW 7
HIGH 83 NORMAL 8 LOW 7
HIGH 82 NORMAL 8 LOW 7
を私は例えば、カラムとしてハイとローと新しいデータフレームを作成します:
Col1_High Col1_Low Col2_High Col2_Low Col3_High Col3_Low
82 5 5 NA NA 5
83 8 8 NA NA 8
82 NA 8 NA NA 7
NA NA NA NA NA 7
NA NA NA NA NA 7
これについてはどのような方法が最適ですか?
これまでのところ私は思う:
#extract the Status Columns from original file into DataFrame
statusDF <- ret[grepl("Status", colnames(ret))]
#extract the Value Columns from original file into DataFrame
originalValueDF <- ret[grepl("Value", colnames(ret))]
#create new columns attribute_high and attribute_low
for(i in names(originalValueDF)){
newValueDF <- originalValueDF[[paste(i, 'High', sep = "_")]]
newValueDF <- originalValueDF[[paste(i, 'Low', sep = "_")]]
}
#populate both columns based on value in attribute status column
for(i in names(originalValueDF)){
if (originalValueDF$i == "High"){
temp <- # stuck here
}
}
どれ助言がここ
'Col3_Low = C(5,8) '... 7はどこですか?あなたの基準は何ですか? – Sotos
申し訳ありません最初の2つのタプルを目的の出力として与えました。基準は、ステータス列を見て、その列を高低に抽出することです。 – ukbaz
は出力データフレーム – ukbaz