R 将列转换为数据帧列表并维护名称
我有大量的R 将列转换为数据帧列表并维护名称,r,list,R,List,我有大量的df列名,其中包含对调查问题的回答数据,我能够做到以下几点: 将每列转换为数据帧并存储在列表x 创建包含每个数据帧的表的单独列表y Dput: df关于OP是否需要每个列的data.frames/tbl_df的列表,或者仅仅是表的输出,目前还不太清楚。对于第一种情况,我们可以使用split.default lst1 <- split.default(df, seq_along(df)) 如果我们需要表 lapply(df, table) #$`A question` #1
df
列名,其中包含对调查问题的回答数据,我能够做到以下几点:
x
y
df关于OP是否需要每个列的data.frames/tbl_df的列表,或者仅仅是表的输出,目前还不太清楚。对于第一种情况,我们可以使用split.default
lst1 <- split.default(df, seq_along(df))
如果我们需要表
lapply(df, table)
#$`A question`
#1 3 4
#1 3 2
#$`Some other question`
#0 1 3 4
#1 1 2 2
#$`Other kind of question`
#1 3 4 5
#1 1 3 1
或者,如果需要将其转换为data.frame
,请使用as.data.frame
lapply(df, function(x) as.data.frame(table(x)))
谢谢我不熟悉列表,觉得这是一个非常简单的问题,但在任何地方都找不到类似的问题。@Matt没问题。我想您只需要lappy(df,table)
。当我们在整个data.frame上循环时,每一列都是一个单元,当使用lappy(df,table)
时,它以向量的形式在列的值上循环,我怎样才能使类保持data.frame
?@Matt你需要lappy(df,function(x)as.data.frame(table(x))
完美。再次感谢。
lapply(names(df), function(nm) df[nm])
lapply(df, table)
#$`A question`
#1 3 4
#1 3 2
#$`Some other question`
#0 1 3 4
#1 1 2 2
#$`Other kind of question`
#1 3 4 5
#1 1 3 1
lapply(df, function(x) as.data.frame(table(x)))