【发布时间】:2015-05-20 00:51:59
【问题描述】:
我已经尝试了来自this similar question 的几乎所有内容,但我无法获得其他人似乎正在获得的结果。这是我的问题:
我有一个这样的数据框,列出了每个老师的成绩:
> profs <- data.frame(teaches = c("1st", "1st, 2nd",
"2nd, 3rd",
"1st, 2nd, 3rd"))
> profs
teaches
1 1st
2 1st, 2nd
3 2nd, 3rd
4 1st, 2nd, 3rd
我一直在寻找将teaches 变量分成列的解决方案,如下所示:
teaches1st teaches2nd teaches3rd
1 1 0 0
2 1 1 0
3 0 1 1
4 1 1 1
I understand this solution 涉及 splitstackshape 库和显然已弃用的 concat.split.expanded 函数应该完全符合我的要求,因为回答者的解释。但是,我似乎无法达到相同的结果:
> concat.split.expanded(profs, "teaches", fill = 0, drop = TRUE)
Fehler in seq.default(min(vec), max(vec)) :
'from' cannot be NA, NaN or infinite
使用cSplit,我理解它取代了“大多数早期的 concat.split* 函数”,我明白了:
> cSplit(profs, "teaches")
teaches_1 teaches_2 teaches_3
1: 1st NA NA
2: 1st 2nd NA
3: 2nd 3rd NA
4: 1st 2nd 3rd
我已经尝试使用cSplit 的帮助并调整其中的每一个参数,但我就是无法进行拆分。感谢您的帮助。
【问题讨论】:
标签: r string dataframe split splitstackshape