• R语言—填坑随笔


    1.ifelse语句返回值的特殊性

      正常的ifelse语句格式为ifelse(判断条件,TRUE时执行,FALSE时执行)

     学过编程语言的人不难理解,但在R中容易被误导。今天我遇到了一个情况。需求是判断一个字符向量的长度,如果大于0,返回向量所有内容,否则输出"没有"两个字。结果却只输出了1个元素。

    代码如下:

    > ##可以看出向量有值
    > ls_1
    [1] "天津" "上海" "安徽" "福建" "四川" "重庆" "陕西" "青海" "新疆"
    > ##向量内有9个元素
    > length(ls_1)
    [1] 9
    > ##进行判断
    > ifelse(length(ls_1),ls_1,"没有")
    [1] "天津"
    > ##结果只显示了第一个元素,后来得知,判断条件有几个元素,就会返回ls_1向量的几个元素
    > ##如果我想每次都全部现实,可以这样写
    > ifelse(is.na(ls_1),"没有",ls_1)
    [1] "天津" "上海" "安徽" "福建" "四川" "重庆" "陕西" "青海" "新疆"

    总结:R语言的if判断语句,虽然大部分情况都是和其他编程语言一样使用,但在返回内容包含多个值时,需要注意返回结果是否正确。

  • 相关阅读:
    雨中梦游
    最后一次为你哭
    poj3169 Layout
    poj2253 Frogger
    钟爱一生
    POJ2668解题报告
    魅力泸西
    android学习笔记09(activity的生命周期)
    poj 3468 A Simple Problem with Integers
    android学习笔记之多线程(二)
  • 原文地址:https://www.cnblogs.com/dsjxmz/p/6927613.html
Copyright © 2020-2023  润新知