You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何将拆分后的tibble正确转换为dataframe?

解决方法

问题核心是你仅运行了extract函数但未将拆分结果保存到变量中,导致原变量d仍为初始的1列数据。只需将拆分后的结果赋值给变量,再转换为dataframe即可。

正确代码示例

方式一:覆盖原变量d后转换

library(tibble)
library(dplyr)

# 初始数据
d <- tibble(input=c("John Hopkins Institute 8.4 8.6 9.2 Blue",
                    "Stanford : New School 9.4 5.6 9.2 Green",
                    "Mayor College 6.4 7.6 4.2 Red"))

# 执行拆分并将结果赋值给d
d <- d %>% 
  extract(input,
          regex="(.+) ([.\\d]+) ([.\\d]+) ([.\\d]+) (.+)",
          into=c("College Names", "Food rating", "Critic Rating", "Student rating", "Color"))

# 转换为dataframe
var <- as.data.frame(d)

方式二:用新变量存储拆分结果后转换

如果不想覆盖原数据,可将拆分结果存入新变量:

library(tibble)
library(dplyr)

d <- tibble(input=c("John Hopkins Institute 8.4 8.6 9.2 Blue",
                    "Stanford : New School 9.4 5.6 9.2 Green",
                    "Mayor College 6.4 7.6 4.2 Red"))

# 拆分结果存入新变量split_data
split_data <- d %>% 
  extract(input,
          regex="(.+) ([.\\d]+) ([.\\d]+) ([.\\d]+) (.+)",
          into=c("College Names", "Food rating", "Critic Rating", "Student rating", "Color"))

# 转换为dataframe
var <- as.data.frame(split_data)

验证结果

执行上述代码后,var即为目标格式的dataframe,结构如下:

College NamesFood ratingCritic RatingStudent ratingColor
John Hopkins Institute8.48.69.2Blue
Stanford : New School9.45.69.2Green
Mayor College6.47.64.2Red

内容的提问来源于stack exchange,提问作者hereforadoubt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:36:29