我有一个这样的数据框:
我希望它像这样:
我该怎么做?每一列的列长都不同,所以我认为它不能是数据框,也不能是列表列表?
对不起,我不够聪明,无法将代码放在这里:(
预先感谢
自然
答案 0 :(得分:1)
类似的事情可以完成工作:
RegEx
这将返回如下列表:
# data
example_df <- data.frame(col1 = c('A', 'A', 'A', 'B','B','B'),
col2 = 1:6)
# split into list of data.frames by value of col1
# and apply a function to get unique values of col2
lapply(
split(example_df, example_df$col1),
function(x) unique(x$col2)
)
答案 1 :(得分:1)
您还可以执行以下操作:
library(data.table)
df_new <- dcast(setDT(df), Column2 ~ Column1)[, lapply(.SD, na.omit)][!duplicated(A, B)][, Column2 := NULL]
这将为您提供一个数据框:
A B
1: 12 6
2: 23 8
3: 30 45