【发布时间】:2017-02-15 19:48:57
【问题描述】:
我一直对R中的变量类型感到困惑,现在转置一个数据框后遇到了一个问题。
例如,我使用table() 来获取某个向量中每个因子的计数:
data(iris)
count <- as.data.frame(table(iris$Species))
typeof(count$Var1)
# [1] "integer"
typeof(count$Freq)
# [1] "integer"
我的第一个问题是,为什么count$Var1 是“整数”?字符串也可以是“整数”吗?但这没关系,因为我可以通过count$Var1 <- as.character(count$Var1)改变类型,然后typeof(count$Var1)变成“字符”。
现在我将这个数据帧转置为transposed_count <- as.data.frame(t(count))。但我很困惑,因为:
typeof(transposed_count[1,])
[1] "list"
typeof(transposed_count[2,])
[1] "list"
transposed_count[2,]
V1 V2 V3
Freq 50 50 50
为了后续使用,我需要 transposed_count[2,] 是一个数字向量,例如:
transposed_count[2,]
[1] 50 50 50
我该怎么做?又为什么在t()之后变成了“名单”?对不起,如果这是一个愚蠢的问题。谢谢!
【问题讨论】:
标签: r data-structures transpose variable-types