识别、计数和标记列中的空格?

Identifying, counting, AND labelling spaces in a column?

我在 R 中有一个 1 列的数据框。里面有一堆名字,例如克莱尔·兰德尔·弗雷泽。我知道如何制作一个循环函数,将第二个函数应用于每个单元格。但我仍然坚持如何创建第二个功能,即在每个单元格中识别和标记每个 space (" ")。例如。克莱尔[1]兰德尔[2]弗雷泽

有办法吗? 提前致谢,请解释一下,就像我是 R 的初学者一样。

这是使用多种方法的初步解决方案:

数据:

str <- c("Claire Randall Fraser", "Peter Dough", "Orson Dude Welles Man")

解决方案:

library(data.table)
library/dplyr)

data.frame(str) %>%
  # create row ID:
  mutate(row = row_number()) %>%
  # split strings into separate words:
  separate_rows(str, sep = " ") %>%
  # for each `row`:
  group_by(row) %>%
  # create two new columns:
  mutate(
    # add a column with the run-length number enclosed in "[]":
    add = paste0("[", cumsum(rleid(row)), "]"),
    # paste the separate names and the values in `add` together:
    str_0 = paste0(str, add)) %>%
  # put everything back onto the original rows:
  summarise(str = paste0(str_0, collapse = "")) %>%
  # deactivate grouping:
  ungroup() %>%
  # remove string-final `[...]`: 
  mutate(str = sub("\[\d+\]$", "", str))

结果:

# A tibble: 3 × 2
    row str                        
  <int> <chr>                      
1     1 Claire[1]Randall[2]Fraser  
2     2 Peter[1]Dough              
3     3 Orson[1]Dude[2]Welles[3]Man