根据另一列将单列变成多列
Make single column into multiple columns based on another column
我有一个整洁的数据框,每行一个术语和一个主题。它看起来像这样:
num_topic, term
1, blue
1, green
2, dog
2, cat
为了便于阅读,我想将每个主题安排在单独的栏中
topic1, topic2
blue, dog
green, cat
这看起来很直观,但我不知道该怎么做。它与链接的问题不同,因为每个术语都没有唯一标识符。每个主题只有术语列表。
下面的怎么样。
请注意,这假设每个 num_topic
组的条目是 "in order",即 blue
属于 dog
,green
属于 cat
,依此类推。
df <- read.csv(text =
"num_topic,term
1,blue
1,green
2,dog
2,cat");
df <- as.data.frame(sapply(split(df, df$num_topic), function(x) x$term));
df;
# 1 2
#1 blue dog
#2 green cat
说明:拆分 num_topic
并将列 term
绑定在一起。
我有一个整洁的数据框,每行一个术语和一个主题。它看起来像这样:
num_topic, term
1, blue
1, green
2, dog
2, cat
为了便于阅读,我想将每个主题安排在单独的栏中
topic1, topic2
blue, dog
green, cat
这看起来很直观,但我不知道该怎么做。它与链接的问题不同,因为每个术语都没有唯一标识符。每个主题只有术语列表。
下面的怎么样。
请注意,这假设每个 num_topic
组的条目是 "in order",即 blue
属于 dog
,green
属于 cat
,依此类推。
df <- read.csv(text =
"num_topic,term
1,blue
1,green
2,dog
2,cat");
df <- as.data.frame(sapply(split(df, df$num_topic), function(x) x$term));
df;
# 1 2
#1 blue dog
#2 green cat
说明:拆分 num_topic
并将列 term
绑定在一起。