R:加权摘要
R: weighted summary
我有一项调查,人们根据受欢迎程度对动物进行分类。
例如:
"first","second","third"
"dog","cat","rabbit"
"cat","rabbit","dog"
"dog","cat","rabbit"
"dog","cat","rabbit"
我想要显示顺序的图表。
所以第一列的动物体重为 3,第二列为 2,第三列为 1。
当我这样做时:
data<-read.csv("animals.csv", header=T)
f = summary(data$first)
s = summary(data$second)
t = summary(data$third)
在 f 中是数组:
dog cat
3 1
In s 是数组:
cat rabbit
3 1
In t 是数组:
dog rabbit
1 3
而我显然做不到:
graph = 3*f + 2*s + t
因为他们没有同一列。
存在一些功能如何做到这一点。如何对这三列进行加权组合?
最后我需要:
dog cat rabbit
10 9 5
我是 R 的初学者,感谢您的帮助。
要获得加权数字,您可以这样做:
table(c(rep(data$first, 3), rep(data$second, 2), data$third))
# cat dog rabbit
# 9 10 5
数据
data <- structure(list(first = c("dog", "cat", "dog", "dog"), second = c("cat",
"rabbit", "cat", "cat"), third = c("rabbit", "dog", "rabbit",
"rabbit")), .Names = c("first", "second", "third"), class = "data.frame", row.names = c(NA,
-4L))
注意:如果数据是以字符为因子导入的,可以这样做:
table(c(rep(as.character(data$first), 3), rep(as.character(data$second), 2), as.character(data$third)))
我有一项调查,人们根据受欢迎程度对动物进行分类。 例如:
"first","second","third"
"dog","cat","rabbit"
"cat","rabbit","dog"
"dog","cat","rabbit"
"dog","cat","rabbit"
我想要显示顺序的图表。 所以第一列的动物体重为 3,第二列为 2,第三列为 1。
当我这样做时:
data<-read.csv("animals.csv", header=T)
f = summary(data$first)
s = summary(data$second)
t = summary(data$third)
在 f 中是数组:
dog cat
3 1
In s 是数组:
cat rabbit
3 1
In t 是数组:
dog rabbit
1 3
而我显然做不到:
graph = 3*f + 2*s + t
因为他们没有同一列。 存在一些功能如何做到这一点。如何对这三列进行加权组合?
最后我需要:
dog cat rabbit
10 9 5
我是 R 的初学者,感谢您的帮助。
要获得加权数字,您可以这样做:
table(c(rep(data$first, 3), rep(data$second, 2), data$third))
# cat dog rabbit
# 9 10 5
数据
data <- structure(list(first = c("dog", "cat", "dog", "dog"), second = c("cat",
"rabbit", "cat", "cat"), third = c("rabbit", "dog", "rabbit",
"rabbit")), .Names = c("first", "second", "third"), class = "data.frame", row.names = c(NA,
-4L))
注意:如果数据是以字符为因子导入的,可以这样做:
table(c(rep(as.character(data$first), 3), rep(as.character(data$second), 2), as.character(data$third)))