0
我有一個數據集,每列都有一個存儲數據的屬性。含義是,列具有行明智的值,然後列的屬性也具有值。複製屬性數據作爲另一列附加到列
我可以使用attr()
作爲屬性讀取附加到該列的數據。但是,我的目標是捕獲這些屬性值並作爲列進行復制。然後,使用上述代碼
讀取屬性
> attr(data$`column1`, "metadata")$DP.SomeNumber1
"6200"
> attr(data$`column2`, "metadata")$DP.SomeNumber2
"7200"
輸入數據
column1 column2
-0.01 0.05
-0.01 0.05
-0.01 0.05
-0.01 0.05
-0.01 0.05
-0.01 0.05
-0.01 0.05
-0.01 0.05
,我想如下所示追加的值。
輸出數據
column1 SomeNumber1 column2 SomeNumber2
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
-0.01 6200 0.05 7200
我如何遞歸超過1000列中的數據實現這一點?每次讀取都需要調用attr()
以唯一的列名稱捕獲屬性數據,然後將其複製爲另一個調整列。
我對我如何以優化的方式遞歸地做到這一點感到困惑。
請分享建議,謝謝。
。@ MarkusN - 謝謝。函數(col)中的'col'是什麼?如果我是正確的,它必須從'attr2col()'傳遞。 –
@Chetan Arvind Patil - 它實際上是列名,在lapply中傳遞。長形式將是lapply(名稱(數據),函數(x)attr2col(x))。 – MarkusN
@ MarkusN - 我爲'myAttr [[names(myData)]]'得到'Error:subscript out of bounds'。在'myAttr'中,我確實獲得了所有必需的屬性。有什麼建議嗎? –