use*_*877 4 select row r dataframe
我想选择一个数据框的行,其中 v3 列中字符串的长度等于 v4 列中字符串的长度。我的数据框 'df' 看起来像:
v1 v2 v3 v4
1 456 . C T
2 462 . C T
3 497 . C T
4 499 . GC AC
5 499 . GC G
6 499 . GC CC
7 513 . GCACA GCA
8 513 . GCACA GCACACA
9 513 . GCACA ACACA
10 513 . GCACA GCACACACA
11 513 . GCACA GCACACACACA
12 513 . GCACA GACCACA
13 513 . GCACA G
14 521 . ACN A
15 522 . CNN C
Run Code Online (Sandbox Code Playgroud)
输出应该是:
v1 v2 v3 v4
1 456 . C T
2 462 . C T
3 497 . C T
4 499 . GC AC
9 513 . GCACA ACACA
Run Code Online (Sandbox Code Playgroud)
我试过了:
new_df = df[nchar(str_sub(df$v3))==nchar(str_sub(df$v4))]
@agstudy 得到了最重要的部分。我要补充一点str_sub(从stringr我假设的包中)在这里没有做任何有用的事情。最后,您可以使用subset来避免重复使用df$. 所以你可以这样做:
df[nchar(df$v3) == nchar(df$v4), ]
Run Code Online (Sandbox Code Playgroud)
或者
subset(df, nchar(v3) == nchar(v4))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4940 次 |
| 最近记录: |