1

There is table i want to generate:

y
160 165 170 175 180 185 
2   4   5   6   3   1 

Can i generate y (the table) with following two vectors?

height<-c(160,165,170,175,180,185)
times<-c(2,4,5,6,3,1)
4

2 回答 2

5

你可以使用setNames

setNames(times, height)
# 160 165 170 175 180 185 
#   2   4   5   6   3   1 

如果您想确保它class也是table,请将其包装在as.table

as.table(setNames(times, height))
# 160 165 170 175 180 185 
#   2   4   5   6   3   1 

使用后一种方法将允许您使用一些可用于table. 例如,想到的是data.frame方法。相比:

data.frame(setNames(times, height))
#     setNames.times..height.
# 160                       2
# 165                       4
# 170                       5
# 175                       6
# 180                       3
# 185                       1

data.frame(as.table(setNames(times, height)))
#   Var1 Freq
# 1  160    2
# 2  165    4
# 3  170    5
# 4  175    6
# 5  180    3
# 6  185    1
于 2013-10-26T08:27:34.997 回答
3

一种可能的方法如下:

table(rep(height, times))

160 165 170 175 180 185 
 2   4   5   6   3   1 

其中高度中的每个元素将被相同索引的元素重复多次。

于 2013-10-26T08:24:26.607 回答