首页 > 解决方案 > 如何使用 dplyr 过滤数据框并选择坐标

问题描述

我有一个类似这样的数据框:

df <- data.frame(V1=c(0, 100, 0, 0), V2=c(100, 0, 0 , 0), V3=c(50, 50, 0, 0 ), V4=c( 0,0,0,100))
rownames(df) <- c("A", "B", "C", "D")

我想dplyr在 R中提取一些信息。

  1. 首先,我想提取所有不同于 100 或 0 的坐标(行和列)(V3;A = 50 和 B = 50)
  2. 我想生成一些关于这些数据的百分比(A = 50% 和 B = 50%)

任何帮助都会很棒!谢谢!

标签: rdplyr

解决方案


我不完全了解您想要实现的目标,但这对您有帮助吗?

library(tidyverse)
df <- data.frame(V1=c(0, 100, 0, 0), V2=c(100, 0, 0 , 0), V3=c(50, 50, 0, 0 ), V4=c( 0,0,0,100))
rownames(df) <- c("A", "B", "C", "D")
df %>% 
  rownames_to_column()%>% 
  pivot_longer(!rowname, names_to="values") %>% 
  filter(value %in% 1:99)

推荐阅读