【发布时间】:2020-01-12 17:40:57
【问题描述】:
我正在处理一项调查中的多项响应问题,并且我有一个字符列,其中包含类似于“1,2,3”和“1,4,5”的值。参与者点击所有适用的值,我得到了这个结果。
解决此问题的最佳解决方案是什么?我是否应该创建新列来告诉我该列表中的值是否存在?或者我可以创建一个具有列表/向量类的列吗?
【问题讨论】:
-
你想要的输出是什么?是的,一般情况下,您应该尽可能避免使用 CSV 数据。
-
从技术上讲,是的,
list-columns 可以在框架中工作(试试mtcars$new <- Map(c, mtcars$gear, mtcars$carb)),但是一些框架友好的工具并不总是对它们有很好的反应(尽管总是有解决方法)。一种不同的方法可能是以“长”格式存储不同的值,而不是将多个值存储在单个“单元格”中。这需要对其余数据进行重组,因此对于评论来说不够简单(并且需要一个可重现的问题)。 -
将这些值转换为单独的行。 stackoverflow.com/questions/15347282/…
-
真的取决于你的目标——你想用数据做什么?但是,是的,在大多数情况下,我同意 Ronak 的观点,单独的行是最简单的。
-
如果您只有 5 个选项,那么有时创建 5 个仅 0/1 的列来表示该响应是否被勾选而不是单独的行是有意义的。所以你可以有
Q1_a、Q1_b等列,如果你用他们选择的实际名称替换a和b,效果会更好。