我有一张桌子author_data
:
author_id | author_name
----------+----------------
9 | ernest jordan
14 | k moribe
15 | ernest jordan
25 | william h nailon
79 | howard jason
36 | k moribe
Run Code Online (Sandbox Code Playgroud)
现在我需要结果如下:
author_id | author_name
----------+----------------
9 | ernest jordan
15 | ernest jordan
14 | k moribe
36 | k moribe
Run Code Online (Sandbox Code Playgroud)
也就是说,我需要author_id
具有重复外观的名称.我试过这句话:
select author_id,count(author_name)
from author_data
group by author_name
having count(author_name)>1
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我怎么能得到这个?
sql postgresql aggregate-functions duplicates window-functions
我想要一个数据.我的数据看起来像
author_id paper_id prob
731 24943 1
731 24943 1
731 688974 1
731 964345 .8
731 1201905 .9
731 1267992 1
736 249 .2
736 6889 1
736 94345 .7
736 1201905 .9
736 126992 .8
Run Code Online (Sandbox Code Playgroud)
我希望的输出是:
author_id paper_id
731 24943,24943,688974,1201905,964345
736 6889,1201945,126992,94345,249
Run Code Online (Sandbox Code Playgroud)
即paper_id根据概率的降序排列.
如果我使用sql和R的组合,我认为解决方案将是
statement<-"select * from A
GROUP BY author_id
ORDER BY prob"
Run Code Online (Sandbox Code Playgroud)
然后在R中使用粘贴一次为paper_id设置顺序.
但是我需要R.的完整解决方案.这可以做到吗?
谢谢
我有两个数据帧
distinct_paper_year_data:
author_id distinct_paper_year_count
1 3
2 1
4 1
5 4
Run Code Online (Sandbox Code Playgroud)
author_data:
author_id paper_id confirmed
1 25733 1
2 47276 1
3 79468 1
4 12856 0
Run Code Online (Sandbox Code Playgroud)
现在我想合并,以便所需的输出如下所示:
author_id paper_id confirmed distinct_paper_year_count
1 25733 1 3
2 47276 1 1
3 79468 1 0
4 12856 0 4
Run Code Online (Sandbox Code Playgroud)
在这里我需要author_id
表中的s author_data
在最终输出中.由于author_id==3
在distinct_paper_year_count中没有数据,因此distinct_paper_year_count
在最终结果(for author_id==3
)中列的值应为零.
通过使用合并我得到
merge(distinct_paper_year_data,author_data,by="author_id")
author_id distinct_paper_year_count paper_id confirmed
1 3 25733 1
2 1 47276 1
4 1 12856 0
Run Code Online (Sandbox Code Playgroud)
如何获得所需的输出?
我有一个数据框
Id Name Affiliation
9 Ernest Jordan
14 K. MORIBE
15 D. Jakominich
25 William H. Nailon
37 P. B. Littlewood Cavendish Laboratory|Cambridge University
44 A. Kuroiwa Department of Molecular Biology|School of Science|Nagoya
75 M. Till-berg
Run Code Online (Sandbox Code Playgroud)
我想知道有多少行是不完整的,即缺少数据.在这种情况下,ID(9,14,15,25,75)的行有关联.所以在这种情况下结果应该是5.
我试过了
dim(author_data[complete.cases(author_data),])
Run Code Online (Sandbox Code Playgroud)
但它没有显示正确的结果.它输出为
7 3
Run Code Online (Sandbox Code Playgroud)
即7行3列
谢谢
我有一个像这样的数据
paper Id Author Id
1 15
2 13
3 12
3 11
4 10
4 10
4 9
Run Code Online (Sandbox Code Playgroud)
我想选择有多位作者的论文.所以我的数据应该是这样的
paper Id Author Id
3 12
3 11
4 10
4 9
Run Code Online (Sandbox Code Playgroud)
我试过用SQL查询:
statement<-"SELECT PaperId,AuthorId,COUNT(PaperId)
FROM author_data_pap_aut
GROUP BY PaperId,AuthorId
HAVING ( COUNT(*) >1 )"
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我怎样才能得到理想的结果
谢谢
r ×4
sql ×2
data.table ×1
dataframe ×1
duplicates ×1
merge ×1
missing-data ×1
plyr ×1
postgresql ×1
sorting ×1