データフレームdf
が文字列(character
)と文字列のリストで構成されています。のは、次の例を見てみましょう:Rデータフレームサブセット:リスト内の値を検索
Name Nationality
'Alice' "USA"
'Bob' "MEX"
'Eve' c("USA", "MEX")
つまり:
> dput(df)
structure(list(Name = c("Alice", "Bob", "Eve"), Nationality = list( "USA", "MEX", c("USA", "MEX"))), .Names = c("Name", "Nationality"), row.names = c(1L, 2L, 3L), class = "data.frame")
国籍として少なくとも "MEX" を持っているすべての行を抽出するためにどのように?
予想される出力:
Name Nationality
'Bob' "MEX"
'Eve' c("USA", "MEX")
編集:
df[df$Nationality == "MEX", ]
を、それだけでボブを返します。私が試してみました。df[df$Nationality %in% "MEX",]
Bobのみが返されます。 '国籍' 列があるdf["MEX" %in% df$Nationality,]
戻り値すべて、ちょうどdf[is.element("MEX", df$Nationality),]
df[grep("MEX", df$Nationality), ]
よう取り組んでいます...
使用 'grep'として簡素化することができる
に基づいて行をサブセットに、MEX "すなわちdf [grep(" MEX "、df $ nationality)]、'。 'dput'を使って例を表示してください – akrun
コードをチェックすると、'サブセット ' – akrun
@akrunが実行されています(コードが私の問題を解決しています)。ありがとうございました!再現可能な例を得るために質問を編集します。 – ebo