R语言<从源数据选入指定的行或列>

1.数据准备:

manager <- c(1, 2, 3, 4, 5)
date <- c("10/24/08", "10/28/08", "10/1/08", "10/12/08", "5/1/09")
country <- c("US", "US", "UK", "UK", "UK")
gender <- c("M", "F", "F", "M", "F")
age <- c(32, 45, 25, 39, 99) #99代表年龄缺失
q1 <- c(5, 3, 3, 3, 2)
q2 <- c(4, 5, 5, 3, 2)
q3 <- c(5, 2, 5, 4, 1)
q4 <- c(5, 5, 5, NA, 2)
q5 <- c(5, 5, 2, NA, 1)
leadership <- data.frame(manager, date, country, gender, age, q1, q2, q3, q4, q5, stringsAsFactors=FALSE)

这里写图片描述

2.选取指定的列

选取除“q3、q4”以外的数据:

myvars <- names(leadership) %in% c("q3", "q4")

这行代码的意思是从names(leadership)中的每一个检查其中的每一个元素是否被包含于c(“q3”, “q4”),所以myvars一个由真假值组成的vector:
这里写图片描述

newdata<-leadership[!myvars]

那么这就可以选出leadership中不是q3、q4的列:
这里写图片描述

3.每次间隔N行选取

以三行为组(最后一组可能不满三行),只选取第一行

leadership[c(TRUE, FALSE, FALSE),]

这里写图片描述

从执行结果上可以看到选出了第一行、第四行

4.每隔N列选取

以三列为组(最后一组可能不满三列),只选取第一列

leadership[c(TRUE, FALSE, FALSE)]

这里写图片描述

从执行结果看,只保留了第一列、第四列、第七列、第十列

当然,可以随意根据需求更改代码中的TRUE、FALSE
需要注意的是每隔N行选取和每隔N列选取的代码只是相差了一个逗号

  • 12
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值