2017-06-26 5 views
2

から年表Iは、次のようになりますパネルデータを持っています。しかし、私はこれまでのところ、それを達成することができていない私は、シンプルに見えるかもしれませんがやりたい国/パネルデータ

df<-data.frame(a=c("A","A","A","B","B","C","C","C","C"),b=c("1","2","3","4","5","1","2","3","5"),var=c(1,1,1,NA,1,NA,1,1,1)) 
df 
    a b var 
1 A 1 1 
2 A 2 1 
3 A 3 1 
4 B 4 NA 
5 B 5 1 
6 C 1 NA 
7 C 2 1 
8 C 3 1 
9 C 5 1 

。私は、列の各値がのすべての値について私に与えてくれるテーブル(理想的にはxtableまたは他の適切なパッケージを使用してLaTeXコードにテーブルを作ることを望みます)。cNAではありません。したがって、最終的に結果は次のようになります。

A 1,2,3 
B 5 
C 2,3,5 

私はtable()で遊ぶしようとしましたが、全部が容易になり、何かを思い付くことができませんでしたしています。

ありがとうございました!

答えて

3
ここ

が 'B'

library(dplyr) 
df %>% 
    filter(!is.na(var)) %>% 
    group_by(a) %>% 
    summarise(b = toString(unique(b))) 

それともaggregateとでpasteunique要素は、 'A' でグループ化された 'var' にNA素子を有する行、アウトfilterdplyrを使用してオプションです。 base R

aggregate(b ~a, df[!is.na(df$var),], FUN = function(x) toString(unique(x))) 
# a  b 
#1 A 1, 2, 3 
#2 B  5 
#3 C 2, 3, 5 
+1

大変ありがとうございます。 –

関連する問題