【问题标题】:Replace email adress by string name in a dataframe用数据框中的字符串名称替换电子邮件地址
【发布时间】:2020-11-06 17:12:05
【问题描述】:

我有一个包含观察者列表 ($Observer.names) 的数据框,但有些是电子邮件地址。我想用字符串“匿名鸟”替换观察者的电子邮件。有人可以帮忙吗?

 glimpse(data)

Rows: 2,706
Columns: 6
$ Observer.names <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Allan Mueller", "Allan Mue...
$ Date           <chr> "5/27/2019", "5/27/2019", "5/27/2019", "6/15/2019", "6/15/2019", "6...
$ Start.time     <chr> "8:14:00", "8:25:00", "8:54:00", "16:40:00", "18:11:00", "7:09:00",...
$ latitude       <dbl> 34.05200, 34.04500, 34.00300, 40.12670, 40.13630, 42.10672, 42.1044...
$ longitude      <dbl> -84.34200, -84.33800, -84.30000, -75.60830, -75.59200, -93.57307, -...
$ AMGO           <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...

这是尝试过的,但它只返回一个向量:


    a <- data %>% 
        select(Observer.names) %>% 
        replace_email(replacement = "Anonymous Birder")

【问题讨论】:

  • 您应该使用dput(data)dput(head(data)) 来共享您的数据,而不是一瞥。这让人们可以轻松地复制/粘贴它。
  • 确保列出您正在使用的所有非基础 R 包。 replace_email 来自哪里?
  • 你需要什么花哨的东西吗? replace(Observer.names, grepl("@", Observer.Names), "anon")?
  • 请从您的 Observer.name 变量中分享更多数据,即您要删除的示例条目。

标签: r replace tidyverse


【解决方案1】:

您可以添加一个替换电子邮件的新列:

data$Observer.names.replaced <- replace_email(data$Observer.names, replacement="Anonymous Birder")

我假设replace_email 函数来自textclean

【讨论】:

  • 是的 replace_email 来自 textclean 包。您知道当我更改电子邮件时如何保留数据框中的所有列吗?
  • 我不确定我是否正确,但当然所有原始列都保持不变,上面的代码只是在您的数据框中添加了一个新列。
  • 太棒了!感谢您的帮助!
猜你喜欢
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 2013-02-04
  • 2015-06-20
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
相关资源
最近更新 更多