相关疑难解决方法(0)

将strsplit应用于data.frame中的特定列

我有一个包含分类信息的大型数据框.这是一个例子:

> 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

10
推荐指数
2
解决办法
7784
查看次数

标签 统计

r ×1