楼主: dxystata
9696 2

[问答] dataframe中如何得到唯一值的个数 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2013-7-6 12:58:52 |AI写论文
100论坛币
比如
v1  v2
1    a
1    a
2    b
2    NA
3    c
3    d
NA  f

NA表示缺失
如何得到v1的非缺失并且不重复值的个数,比如v1为3 ,v2为5

并且将非缺失并且不重复值形成矩阵
如矩阵A为
1
2
3

矩阵B为
a
b
c
d
f


关键词:Dataframe Frame Data Fram FRA 如何

本帖被以下文库推荐

  • · R学习|主题: 262, 订阅: 161

沙发
kaifengedu 发表于 2013-7-6 17:31:26
试试下面的代码
  1. v1 <- c(1, 1, 2, 2, 3, 3, NA)
  2. v2 <- c("a", "a", "b", NA, "c", "d", "f")
  3. data <- data.frame(v1 = v1, v2 = v2)
  4. univ1 <- unique(data$v1)
  5. univ2 <- unique(data$v2)
  6. length(univ1[!is.na(univ1)])
  7. length(univ2[!is.na(univ2)])
  8. matv1 <- matrix(univ1[!is.na(univ1)],ncol = 1)
  9. matv2 <- matrix(univ2[!is.na(univ2)],ncol = 1)
  10. matv1
  11. matv2
复制代码


这里不知道unique对缺失值怎么处理,如果有就简单些了。

已有 1 人评分论坛币 热心指数 收起 理由
qoiqpwqr + 20 + 1 热心帮助其他会员

总评分: 论坛币 + 20  热心指数 + 1   查看全部评分

藤椅
bobguy 发表于 2013-7-7 12:25:10
First use the duplicated function to find where are duplicates (references) then assign it to a new vector.

v1 <- c(1,4, 1, 2, 2, 3, 3, NA)

v1_NO_NA<- v1[!is.na(v1)]

v1_DEDUP<- v1_NO_NA[!duplicated(v1_NO_NA)]

v1_DEDUP

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 13:00