2017-10-06 3 views
0

私は、男性の100mダッシュの世界記録保持者の名前、記録、国籍、および彼らが実行した日付のデータセットを持っています。これは、データの画像です:スプリントの名前と国籍を持つテーブル

sample data

私はRにそれを読んで、など行くテーブルを作成したいと思います:

Usain Bolt  Jamaica 
Asafa Powell Jamaica 
Carl Lewis  USA 
.... 

コード

table(100men$name,100men$nationality) 

私が欲しいものを私に与えてくれない(それはこのテーブルを作る:table formed by the code above)。あなたはどのようにコードでそれを手に入れますか?

答えて

1

質問を誤解しない限り、元のテーブルに必要なすべての情報が含まれているようです。したがって、不要な列を削除するだけです。たとえば:あなたは重複心配している場合は(おそらくウサインボルトは、元のデータにおける2つの行を持って、例えば、)

# Make example dataset. 
X = data.frame("name" = c("Usain Bolt", "Asafa Powell", "Carl Lewis"), 
       "nationality" = c("Jamaica", "Jamaica", "USA"), 
       "time" = c(9.59, 10.2, 9.3)) 

# Subset data to just include name and nationality 
X2 = X[, which(colnames(X) %in% c("name", "nationality"))] 
X2 #showing output 

して、あなただけのユニークな記録を保持するためにX2 = X2[!duplicated(X2), ]を使用することができます。

2

データ・イメージに示されているようにデータが列名を持っていると仮定すると、dplyrを使用して希望通りに操作できます。あなたのデータは、列1および2であるので、例えば、あなたがアスリートと国家を見たいと思った場合

library("dplyr") 
data %>% 
    group_by(Athlete, Nation) %>% 
    distinct() 
1

して、あなただけのdataがあなたのデータフレームの名前です

unique(data[,1:2]) 

を行くことができます。

関連する問題