我可以生成一个包含两个向量的表吗?

时间:2013-10-26 08:18:41

标签: r

我想要生成的表格:

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

我可以使用以下两个向量生成y(表格)吗?

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

2 个答案:

答案 0 :(得分:3)

您可以使用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

答案 1 :(得分:1)

可能的一种方法如下:

table(rep(height, times))

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

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