簡體   English   中英

轉換所有列:刪除逗號和逗號后的每個字符

[英]transmute over all columns : removing comma and every characters after comma

我想在所有列的字符串中刪除逗號和逗號后的每個字符

from <- c("UK, port unspecified", "Nantes", "London", "America", "La Martinique, port unspecified")
to <- c("Benin", "Widha", "France, *", "America, Port unspecified", "London")

network <- data.frame(from, to)

我的 df :

                              from                        to
 1            UK, port unspecified                     Benin
 2                          Nantes                     Widha
 3                          London                 France, *
 4                         America America, Port unspecified
 5 La Martinique, port unspecified                    London

我想要的是 :

                              from                        to
 1                               UK                    Benin
 2                          Nantes                     Widha
 3                          London                    France
 4                         America                   America
 5                    La Martinique                    London

我可以結合transmute_all (或transmute_if )(包dplyr)和split (包tidyr)功能dplyr管?

您可以使用mutate_all / transmute_all並使用逗號后刪除所有sub

library(dplyr)
network  %>%  mutate_all(~sub(",.*", "", .))

#           from      to
#1            UK   Benin
#2        Nantes   Widha
#3        London  France
#4       America America
#5 La Martinique  London

或者在帶有lapply基礎 R 中。

df[] <- lapply(network, function(x) sub(",.*", "", x))

數據

使用stringsAsFactors = FALSE數據作為字符讀取。

network <- data.frame(from, to, stringsAsFactors = FALSE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM