【发布时间】:2019-09-23 16:38:13
【问题描述】:
我正在分析向量片段,为此我需要提取它们的最大值。
执行此操作的正常方法是使用max(vector, na.rm = TRUE)。
但是,在某些段中,向量的实际最大值并未出现,因此它给出了向量的该段的最大值。
为此,我想从 head() 函数中提取最大值,如下所示:
library(expss)
nps = c(-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1)
var_lab(nps) = "Net promoter score"
val_lab(nps) = num_lab("-1 Detractors
0 Neutralists
1 Promoters")
head(nps)
Output:
Detractors -1 Detractors
Neutralists 0 Neutralists
Promoters 1 Promoters
在这种情况下,我想从中间列中提取“1”。我尝试将 head() 的输出转换为数据帧,但这只是给出了向量的前 5 个值。有什么想法吗?
【问题讨论】:
-
它看起来不像
vector。是data.framemax(head(vector)$value)和range(head(vector)$value) -
@akrun head() 输出看起来不像数据框。这就是我使用该代码得到的结果:
Error in head(df$E033)$value : $ operator is invalid for atomic vectors -
好的,请用
dput(head(vector))更新您的帖子,可能是matrix -
@akrun 我使用了
dput(head(vector)),它给了我这个:structure(c(6, 5, 5, 4, 5, 5), labels = c(`Missing; Unknown` = -5, `Not asked in survey` = -4, `Not applicable` = -3, `No answer` = -2, `Don´t know` = -1, Left = 1, `2` = 2, `3` = 3, `4` = 4, `5` = 5, `6` = 6, `7` = 7, `8` = 8, `9` = 9, Right = 10), class = "labelled") -
结构是否正确。我没有得到您在帖子中显示的相同输出。有什么要加载的包吗?