2017-02-23 8 views
1

を作成しました。その年の年とNの変更を含むdata.tableがあります。 +2005(1)+2004(1)のような出力が必要なのは、2005年と2004年の値が新しく、今年の唯一の新しい値が括弧で1行にまとめられていることを示しています。私はsprintfpasteaggregateを試しましたが、運はありません。複数の列を組み合わせてR

library(tidyverse) 

# original data frame 
summary.changed <- data_frame(Jahr = 2005:2004, N = 1) 

# transform data frame 
summary.changed2 <- summary.changed %>% 
    unite(col = Jahr_N, Jahr, N, sep = "(") %>% 
    mutate(Jahr_N = gsub(pattern = "^", replacement = "\\+", x = Jahr_N)) %>% 
    mutate(Jahr_N = gsub(pattern = "$", replacement = "\\)", x = Jahr_N)) 

# flatten and print 
summary.changed2 %>% flatten_chr() %>% print() 
+0

たぶん 'ペースト(do.call(ペースト、DF)、崩壊= '+')' – Sotos

+0

'ペースト:より再現性のソリューションはtidyverseパッケージを使用している。ここ

summary.changed Jahr N 1: 2005 1 2: 2004 1 

+0

' paste( paste0(df $ Jahr、 '('、df $ N、 ')')、collapse = '+') ' – Sotos

答えて

0

をご協力いただきありがとうございます私は出力を与える `[1]" 2005 1 + 2004 1 "ありがとう、あなたは角かっこを得る方法を知っていますか?
関連する問題