如果在另一個(gè)dataframe中有一行匹配兩個(gè)條件,則用true/false填充列

我有一個(gè)dataframe,df1,有在那個(gè)位置看到的位置和物種。它看起來(lái)是這樣的:

site     species
A        rainbow
A        rainbow
A        tessellated
B        rainbow
B        greenside
B        fantail
B        fantail

我使用unique(df1$site)創(chuàng)建了一個(gè)新的dataframe,df2,這樣每個(gè)位置都有一行。我想創(chuàng)建四列,每個(gè)物種一列,填充TRUE或FALSE,這取決于該位置是否有包含該物種的行。它看起來(lái)是這樣的:

site     rainbow     tessellated     greenside     fantail
A        TRUE        TRUE            FALSE         FALSE
B        TRUE        FALSE           TRUE          TRUE

我相信有一個(gè)簡(jiǎn)單的方法可以做到這一點(diǎn),但我只是什么都不做。非常感謝。

? 最佳回答:

In Base R:

as.data.frame.matrix(table(df)>0)
  fantail greenside rainbow tessellated
A   FALSE     FALSE    TRUE        TRUE
B    TRUE      TRUE    TRUE       FALSE

tidyr::pivot_wider(df, names_from = species, 
                       values_from = species,
                       values_fn = ~length(.x) > 0, 
                       values_fill = FALSE)
# A tibble: 2 × 5
  site  rainbow tessellated greenside fantail
  <chr> <lgl>   <lgl>       <lgl>     <lgl>  
1 A     TRUE    TRUE        FALSE     FALSE  
2 B     TRUE    FALSE       TRUE      TRUE   
主站蜘蛛池模板: 在线播放精品一区二区啪视频| 无码国产精品一区二区免费虚拟VR | 国产乱码伦精品一区二区三区麻豆| 国产在线一区二区| 亚洲一区二区三区91| 人妻少妇精品一区二区三区| 精品女同一区二区三区免费播放| 97人妻无码一区二区精品免费| 国产精品免费一区二区三区四区| 无码人妻精品一区二区蜜桃百度| 国产一区二区不卡老阿姨| 蜜桃无码一区二区三区| 无码视频一区二区三区在线观看| 爆乳熟妇一区二区三区霸乳 | 亚洲国产精品一区二区第一页| 女人和拘做受全程看视频日本综合a一区二区视频 | 在线电影一区二区三区| 人妻视频一区二区三区免费| 亚洲一区二区三区无码国产 | 福利在线一区二区| 国偷自产视频一区二区久| 亚洲欧美国产国产一区二区三区| 亚洲国产韩国一区二区| 2022年亚洲午夜一区二区福利| 免费无码一区二区三区| 中文字幕一区二区精品区| 人妻aⅴ无码一区二区三区| 久久国产一区二区三区| 乱精品一区字幕二区| 日韩内射美女人妻一区二区三区| 无码少妇精品一区二区免费动态| 亚洲一区二区三区香蕉| 无码人妻精品一区二区三区99仓本| 秋霞午夜一区二区| 91福利一区二区| 性盈盈影院免费视频观看在线一区| 国产精品视频一区国模私拍| 国产一区在线播放| 中文字幕一区精品| 亚洲国产av一区二区三区丶| 日韩精品一区二区三区中文精品|