我有一列L數據框,每列有兩列...一個鍵和一個值列。我想創建一個數據幀,其中第i列是第i個數據幀的值列。問題在於列表L中的不同數據幀具有稍微不同的關鍵字(大部分情況相同,但是從data.frame到data.frame產生或取出一對),所以使用cbind的簡單do.call不會削減它)。我打開了數據框的列表,並將鍵列聯合起來以獲得全部包含鍵的集合bigKeySet ...現在我想要做的就是構建這個data.frame,其中每行有一行此bigKeySet中的鍵值,以及列中的NA條目(如果該data.frame沒有該鍵值的條目)。但我不知道如何做到這一點 - 有什麼建議?如何通過插入NA來綁定不同長度的數據幀中的列?
0
A
回答
1
假設你有一個函數valueForKey()
,對於一個鍵(或等效的語句)返回值:
myKeys <- c('foo', 'bar')
bigKeySet <- c('foo', 'baz', 'bar')
result <- as.vector(mapply(function(x) { if (x %in% myKeys) print(valueForKey(x)) else print(NA) }, bigKeySet))
可以綁定result
到您所感興趣的數據幀。重複所有myKeys
的實例。
2
沒有一些樣本數據,我不知道,但:
merge(df1,df2,all=T,by='keys')
將其鍵欄中的兩個數據幀相結合,並相應地命名值列。
相關問題
- 1. 從底部的列綁定不同長度的數據幀
- 2. 在R中加入具有不同列的不同長度的數據幀
- 3. 用不同數量的行/列來綁定幾個數據幀
- 4. 組合不同長度的數據幀
- 5. 乘以不同長度的數據幀
- 6. 如何通過在R中重複使用而不重複來合併兩個不同長度的數據幀?
- 7. 如何通過搜索R中最接近的時間戳來減去2個不同長度的數據幀?
- 8. R在列中組合不同長度的數據幀。
- 9. 將不同長度的列表合併到數據幀中
- 10. 如何組合兩個不同長度的數據幀?
- 11. 加入兩個不同長度的數據幀
- 12. 通過不同數量的邏輯列過濾數據幀
- 13. java - 如何將不同長度的多個數組插入到數據庫中
- 14. Python熊貓通過兩個不同長度的數據幀循環高效
- 15. 從列表的長度與數據幀的行數相同的列表中製作pyspark數據幀列
- 16. 將數值輸入到長度較長的數據幀中
- 17. 如何通過在python中指定列索引來將列表插入數據框中的特定列中?
- 18. 如何在數據幀中抑制NA值時避免長度錯誤?
- 19. 合併入口爲NA的數據幀
- 20. Python:通過比較不同的數據幀列來獲得一個值列
- 21. 列表爲NA或0的數據幀
- 22. 在矩陣/數據幀中保存不同長度的向量
- 23. 通過匹配來自另一個數據幀的列來子集數據幀
- 24. 如何將綁定的數據幀轉換爲綁定的數據幀?
- 25. 與PySpark數據幀不同的長度作爲新的列添加列
- 26. 如何通過JavaScript循環不同長度的數組?
- 27. 子集數據幀具有不同長度的另一個數據幀
- 28. 在固定長度列sql服務器中插入數據
- 29. 在python v。2中插入兩個不同長度的列表?
- 30. 比較不同長度的兩個數據幀的行