我有一個包含多行的文件。例如R拆分字符串按列中的分隔符
A B C
awer.ttp.net Code 554
abcd.ttp.net Code 747
asdf.ttp.net Part 554
xyz.ttp.net Part 747
我想用R分割表中的只是列A和I想要一個新的行添加到表中d,其值敬畏,ABCD,ASDF,和XYZ。寧願使用dplyr來完成此操作。
我有一個包含多行的文件。例如R拆分字符串按列中的分隔符
A B C
awer.ttp.net Code 554
abcd.ttp.net Code 747
asdf.ttp.net Part 554
xyz.ttp.net Part 747
我想用R分割表中的只是列A和I想要一個新的行添加到表中d,其值敬畏,ABCD,ASDF,和XYZ。寧願使用dplyr來完成此操作。
您可以使用mutate
和gsub
:
library(dplyr)
df = df %>% mutate(D=gsub("\\..*","",A))
A B C D
awer.ttp.net Code 554 awer
abcd.ttp.net Code 747 abcd
asdf.ttp.net Part 554 asdf
xyz.ttp.net Part 747 xyz
感謝您的回覆。然而,我正在尋找更普遍適用的東西。就像我希望這個工作,即使最後一部分不是ttp.net,例如讓它說yyp.net或ttp.abc.org等 –
如果你只想保留第一個點之前的東西,那麼你可以做'gsub(「\\ .. *」,「」,A)'。我會編輯我的答案。 – Lamia
我們可以使用tidyverse
這個
library(dplyr)
library(tidyr)
df1 %>%
separate(A, into = 'D', extra = 'drop', remove = FALSE) %>%
select(LETTERS[1:4])
# A B C D
#1 awer.ttp.net Code 554 awer
#2 abcd.ttp.net Code 747 abcd
#3 asdf.ttp.net Part 554 asdf
#4 xyz.ttp.net Part 747 xyz
我得到錯誤LETTERS [1:4]:必須解析爲整數列位置,而不是字符。另外,它可能不僅僅是前4個字母。我需要一切,直到第一個。不管字母的數量如何。 –
@AdamSmith我正在使用'dplyr_0.7.0'你可以在沒有選擇步驟的情況下測試它嗎? – akrun
歡迎SO。如果您希望我們爲您編寫代碼,這是錯誤的站點:)請參閱https://stackoverflow.com/help/on-topic,瞭解可能在此處提出的問題。 –