在R中,聚合字符串数据的好方法是什么
在R(或S-PLUS)中,在数据帧中聚合字符串数据的好方法是什么 考虑以下几点:在R中,聚合字符串数据的好方法是什么,r,statistics,s-plus,R,Statistics,S Plus,在R(或S-PLUS)中,在数据帧中聚合字符串数据的好方法是什么 考虑以下几点: myList <- as.data.frame(c("Bob", "Mary", "Bob", "Bob", "Joe")) 目前,我知道的唯一方法是使用summary函数 > summary(as.data.frame(myList)) Bob :3 Joe :1
myList <- as.data.frame(c("Bob", "Mary", "Bob", "Bob", "Joe"))
目前,我知道的唯一方法是使用summary函数
> summary(as.data.frame(myList))
Bob :3
Joe :1
Mary:1
这感觉像一个黑客。有人能提出更好的办法吗?你是说这样吗
myList <- c("Bob", "Mary", "Bob", "Bob", "Joe")
r <- rle(sort(myList))
result <- as.data.frame(cbind(r$values, r$lengths))
names(result) <- c("Name", "Occurrences")
result
Name Occurrences
1 Bob 3
2 Joe 1
3 Mary 1
myList你的意思是这样吗
myList <- c("Bob", "Mary", "Bob", "Bob", "Joe")
r <- rle(sort(myList))
result <- as.data.frame(cbind(r$values, r$lengths))
names(result) <- c("Name", "Occurrences")
result
Name Occurrences
1 Bob 3
2 Joe 1
3 Mary 1
myList使用表格
,无需排序:
ctable <- table(myList);
counts <- data.frame(Name = names(ctable),Count = as.vector(ctable));
ctable使用表格
,无需排序:
ctable <- table(myList);
counts <- data.frame(Name = names(ctable),Count = as.vector(ctable));
ctable这是上述答案的组合(如Thierry所建议)
这给了你
Var1 Freq
1 Bob 3
2 Joe 1
3 Mary 1
这是上述答案的组合(如Thierry所建议)
这给了你
Var1 Freq
1 Bob 3
2 Joe 1
3 Mary 1
使用sqldf
库:
require(sqldf)
myList<- data.frame(v=c("Bob", "Mary", "Bob", "Bob", "Joe"))
sqldf("SELECT v,count(1) FROM myList GROUP BY v")
require(sqldf)
myList使用sqldf
库:
require(sqldf)
myList<- data.frame(v=c("Bob", "Mary", "Bob", "Bob", "Joe"))
sqldf("SELECT v,count(1) FROM myList GROUP BY v")
require(sqldf)
myList使用data.table
myList <- data.frame(v1=c("Bob", "Mary", "Bob", "Bob", "Joe"))
library(data.table)
v1 N
1: Bob 3
2: Mary 1
3: Joe 1
myList使用data.table
myList <- data.frame(v1=c("Bob", "Mary", "Bob", "Bob", "Joe"))
library(data.table)
v1 N
1: Bob 3
2: Mary 1
3: Joe 1
myList您可以将最后一行简化为as.data.frame(ctable)。请注意,只有在一行上放置多个命令时才需要分号。您可以将最后一行简化为as.data.frame(ctable)请注意,只有在一行上放置多个命令时才需要分号。这给了我一个错误-基于Thierry建议的一行是:as.data.frame(table(myList)),这很有趣。您收到了什么样的错误消息?我只是在没有收到错误消息的情况下尝试了一下。请注意——我是在将myList定义为一个列表而不是一个data.frameIt给了我一个错误——基于Thierry建议的一行代码是:as.data.frame(table(myList)),这很有趣。您收到了什么样的错误消息?我只是在没有收到错误消息的情况下尝试了一下。请注意,我是在将myList定义为列表而不是data.frame之后尝试的