首页 > 解决方案 > 从列中提取数据并将提取填充为现有数据框中的新变量

问题描述

我有一个电子邮件地址数据框,需要按地址和域进行拆分。我找到了 tidyr 及其单独的命令,但是当我单独运行时,我要么向我的数据帧添加一个名为“new_var”的数据帧,要么将正确分离的数据打印到控制台中。

我需要将分离的数据作为新列添加到我现有的数据框中。

我正在使用类似的东西

separate(email_data, EMAIL_ADDRESS, into=c("address","domain"), sep="@", remove=FALSE)

我需要将两列添加到我的“email_data”DF,一列命名地址和一列命名域。

我查看了这里和其他地方,我尝试添加 use paste( 而不是 c( ,但没有这样做。

任何帮助表示赞赏。

谢谢 !

标签: rdplyrtidyr

解决方案


提供的两个答案很有帮助(并且受到赞赏),但都没有让我得到我需要的东西,这部分是我的错。我真正需要的是电子邮件地址的域部分。

我能够从 email_address 字段中提取它并给它自己的列,其中包含以下内容:

email_data$domain1 <- substring(email_data$EMAIL_ADDRESS, 
regexpr("@", email_data$EMAIL_ADDRESS) + 1)

substring(text, start, stop)
text = email_address field
start = +1 character after @ symbol
stop = blank b/c I want everything after the @ symbol

推荐阅读