合并数据框列中的值以创建列表的新列

时间:2019-02-25 20:58:40

标签: r list dataframe merge

我有一个包含约100列的数据框。我想将前29列中的值合并到一个列表中。因此,应在每一行包含值列表的地方创建一个新列。诀窍在于,前29列中经常有空单元格,因此有时列表将包含5个元素,有时7个元素,20个元素,等等。

虚拟数据框示例:

   one = c(2.34, 3.345, 5.345) 
   two = c(2354.2, 5234.23, 43) 
   three = c(2643, 434.34, 5.345) 
   df = data.frame(one, two , three)

所需变量:

   ([2.34, 2354.2, 2643], [3.345, 5234.23, 434.340], [5.345, 43.00, 5.345])

1 个答案:

答案 0 :(得分:0)

lapply(1:nrow(df), function(x) unname(df[x, ]))
# [[1]]
#                   
# 1 2.34 2354.2 2643
# 
# [[2]]
#                       
# 2 3.345 5234.23 434.34
# 
# [[3]]
#                 
# 3 5.345 43 5.345