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

R语言中如何拆分逗号分隔的字符串向量并转换为数据框

Got it, let's turn that string vector into the data frame you need. Here are two straightforward ways to do it in R—one using base R (no extra packages needed) and another with the tidyverse if you're already working with those tools.

Base R Approach

This method uses built-in functions, so no need to install anything:

# Start with your original vector
my_strings <- c('a,b,c,d','c,d,e','d,c','a,b,d')

# Split each string into individual elements (returns a list)
split_list <- strsplit(my_strings, ",")

# Figure out how many columns we need (the longest split has 4 elements)
max_columns <- max(sapply(split_list, length))

# Pad shorter lists with empty strings so all have the same length
padded_list <- lapply(split_list, function(x) {
  c(x, rep("", max_columns - length(x)))
})

# Convert the padded list into a data frame
final_df <- data.frame(do.call(rbind, padded_list), stringsAsFactors = FALSE)

# Check the result
final_df

Running this will give you exactly the structure you want:

X1 X2 X3 X4
1  a  b  c  d
2  c  d  e   
3  d  c      
4  a  b  d   

Tidyverse Approach (using tidyr & dplyr)

If you prefer working with the tidyverse ecosystem, this method uses separate_rows and pivot_wider to reshape the data:

library(tidyr)
library(dplyr)

my_strings <- c('a,b,c,d','c,d,e','d,c','a,b,d')

final_df <- tibble(input = my_strings) %>%
  # Split each string into rows
  separate_rows(input, sep = ",") %>%
  # Add an ID to track original rows, and column numbers
  group_by(row_id = row_number()) %>%
  mutate(col_num = paste0("col", row_number())) %>%
  # Reshape back to wide format
  pivot_wider(names_from = col_num, values_from = input) %>%
  # Remove the row ID column
  select(-row_id)

final_df

This will produce the same result, with columns named col1, col2, etc.—you can rename them if needed using rename() if you want custom names.

Either way, you'll end up with a data frame where shorter entries have blank values in the extra columns, just like you asked.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:58:53