【发布时间】:2018-12-08 10:59:28
【问题描述】:
structure(list(Other = c(NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_),
Years = c("2005, 2005, 2006, 2006, 2007", "2011, 2014",
"2007", "2011, 2011, 2011, 2012, 2012, 2012",
"2006, 2006, 2012, 2012, 2015")),
.Names = c("Other", "Years"), row.names = 1:4, class = "data.frame")
鉴于上述数据框,第二列有一堆用逗号排列的年份。我想创建一个新列,将列中每个元素的总年数相加。所以最终的数据框是这样的:
structure(list(Other = c(NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_),
Years = c("2005, 2005, 2006, 2006, 2007","2011, 2014", "2007",
"2011, 2011, 2011, 2012, 2012, 2012",
"2006, 2006, 2012, 2012, 2015"),
yearlength = c(5, 2, 1, 6, 5)),
.Names = c("Other", "Years", "yearlength"), row.names = 1:4, class = "data.frame")
我已经尝试过使用诸如 stack$yearlength <- count.fields(textConnection(stack), sep = ",") 之类的解决方案,但我无法让它发挥作用。
【问题讨论】:
标签: r