这是我的第一个问题,我最近才开始学习 R,所以请保持温和。
X 是一个带有变量 V1 和 V2 的数据框。
set.seed(1)
V1 <- c(20:100)
V2 <- stringi::stri_rand_strings(81, 5)
X <- data.frame(V1, V2)
Run Code Online (Sandbox Code Playgroud)
我如何能:
a) 创建一个新的数据框,其中选择了变量 V1 在第二个数字位置包含 5 的行?(意思是 V1 值为 25、35、45 等的行)
b)创建一个新的数据框,从 V2 中选择行,在 V1 在第二个数字的位置包含 5 的位置?(意思是 V2 的行,其中 V1 的值为 25、35、45 等)
它本质上与前一个数据帧相同,但构建它的过程不同。
c) 通过在 V2 中的 3. 和 4. 符号之间插入一个符号(为了提问,请说“X”)来修改 V2?
谢谢!
你可以做 :
temp <- X[substring(X$V1, 2, 2) == 5, ]
Run Code Online (Sandbox Code Playgroud)
所以问题a)的答案是:temp$V1
问题 b) 是:temp$V2
对于问题 c),我们可以使用substring粘贴 的第一个到第三个字母V2,在中间插入“X”和剩余的字符串来创建新列作为V3。
temp$V3 <- paste0(substring(temp$V2, 1, 3), 'X', substring(temp$V2, 4))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |