我有一个包含分类信息的大型数据框.这是一个例子:
> d <- data.frame(x = c(1,2,3,4), classification = c("cl1.scl1", "cl2", "cl3-bla", "cl4.subclass2"))
> d
x classification
1 1 cl1.scl1
2 2 cl2
3 3 cl3-bla
4 4 cl4.subclass2
Run Code Online (Sandbox Code Playgroud)
在进行任何进一步处理之前,我需要聚合分类信息,这意味着我必须将分类字符串拆分为".".并采取第一个令牌.这是我需要的结果:
> d
x classification
1 1 cl1
2 2 cl2
3 3 cl3-bla
4 4 cl4
Run Code Online (Sandbox Code Playgroud)
目前我正在计算如下:
d$classification = unlist(lapply(d$classification, function (x) strsplit(as.character(x), ".", fixed=TRUE)[[1]][1]))
Run Code Online (Sandbox Code Playgroud)
这很有效,但我花了很长时间来弄明白这一点.我假设有一个更优雅的解决方案,我可能错过了.有什么建议?谢谢!
r ×1