R 使用length()来子集向量的最后一个元素是否不正确?

R 使用length()来子集向量的最后一个元素是否不正确?,r,R,我正在学习微软的在线数据科学课程。在其中一门课程中,我在一些代码中遇到了一个错误,我觉得这些代码符合逻辑,应该可以正常工作。我正在使用DataCamp的IDE 下面是我被问到的问题(变量是预先创建的,我将在代码中使用它们。不幸的是,我无法提供存储在变量中的数据):- 创建一个名为key_skills的新列表,该列表包含三个元素(按此顺序):-技能列表中主题向量的第二个元素技能列表中上下文因素的第二个元素list\u info列表中逻辑向量的最后一个元素,即skills中的元素 这是我的问题代码:

我正在学习微软的在线数据科学课程。在其中一门课程中,我在一些代码中遇到了一个错误,我觉得这些代码符合逻辑,应该可以正常工作。我正在使用DataCamp的IDE


下面是我被问到的问题(变量是预先创建的,我将在代码中使用它们。不幸的是,我无法提供存储在变量中的数据):-

创建一个名为key_skills的新列表,该列表包含三个元素(按此顺序):-
技能列表中
主题
向量的第二个元素
技能列表中
上下文
因素的第二个元素
list\u info
列表中逻辑向量的最后一个元素,即
skills
中的元素

这是我的问题代码:-

key_skills <- list(
    skills$topics[2], 
    skills$context[2], 
    skills$list_info[length(skills$list_info)]
)

key\u skills应该很好用,是的。但是,有一种更简单的方法来获取最后一个元素,即使用
tail

tail(skills$list_info, 1)

它应该很好用,是的。但是,有一种更简单的方法来获取最后一个元素,即使用
tail

tail(skills$list_info, 1)

没有示例数据集很难确定,但根据您对问题的描述,似乎由于
skills$list_info
是一个
列表,它可能包含多个向量。其中一个属于
逻辑类
。首先确定哪一个是逻辑的,然后得到向量的最后一个元素。大概是这样的:

inx <- which(sapply(skills$list_info, is.logical))
skills$list_info[[inx]][length(skills$list_info[[inx]])]

inx如果没有示例数据集,很难确定,但是根据您对问题的描述,似乎由于
skills$list\u info
是一个
列表,它可能包含多个向量。其中一个属于
逻辑类
。首先确定哪一个是逻辑的,然后得到向量的最后一个元素。大概是这样的:

inx <- which(sapply(skills$list_info, is.logical))
skills$list_info[[inx]][length(skills$list_info[[inx]])]

inx既然
list\u info
是一个列表,它应该是:

key_skills <- list(skills$topics[2], skills$context[2], 
skills$list_info[[length(skills$list_info)]])

key\u skills既然
list\u info
是一个列表,它应该是:

key_skills <- list(skills$topics[2], skills$context[2], 
skills$list_info[[length(skills$list_info)]])

key_skills“不幸的是,我无法提供存储在变量中的数据”——我们不需要您的数据,也不需要您的背景信息或您处理的实际问题。阅读“不幸的是,我不能提供存储在变量中的数据”——我们不需要您的数据,也不需要您的背景信息或您处理的实际问题。阅读