r - 根据条件选择和修改数据框中的行
问题描述
这是我的第一个问题,我最近才开始学习 R,所以请温柔一点。
X 是具有变量 V1 和 V2 的数据帧。
set.seed(1)
V1 <- c(20:100)
V2 <- stringi::stri_rand_strings(81, 5)
X <- data.frame(V1, V2)
我如何能:
a)创建一个新的数据框,其中选择变量 V1 在第二个数字的位置包含 5 的行?(表示 V1 的值为 25、35、45 等的行)
b)创建一个新的数据框,在 V1 在第二个数字的位置包含 5 的位置从 V2 中选择行?(表示 V2 的行,其中 V1 的值为 25、35、45 等)
它本质上与前一个数据帧相同,但构建它的过程不同。
c) 通过在 V2 中的 3. 和 4. 符号之间插入一个符号(为了问题,说“X”)来修改 V2?
谢谢!
解决方案
你可以做 :
temp <- X[substring(X$V1, 2, 2) == 5, ]
所以问题 a) 的答案是:temp$V1
问题 b) 是:temp$V2
对于问题 c),我们可以使用substring
粘贴 的第 1 到第 3 个字母V2
,在其间和剩余字符串之间插入“X”来创建新列作为V3
。
temp$V3 <- paste0(substring(temp$V2, 1, 3), 'X', substring(temp$V2, 4))
推荐阅读
- angular - Angular Typescript Array过滤器集合基础的值数组,如SQL“in”
- amazon-web-services - Cloudformation 无法为 apigateway 创建资源策略
- spring-boot - 在spring boot中动态生成Application.properties文件
- sap - 即使没有数据也显示所有日期
- vaadin - 在 Vaadin 13 中,当满足某些条件时,是否有可能/容易在网格中“突出显示单元格”?
- android - “E/Surface:getSlotFromBufferLocked:未知缓冲区”当我尝试发送删除请求时
- selenium - 如何在时间类型元素中发送“时间”键?
- python - 如何使用以前的列值自动计算列?
- python - 进入 pandas 数据帧的大型 SQL 查询(64. Mio 行)需要很长时间
- php - php regex 匹配 facebook 页面、组和用户名,但忽略带有查询参数的链接