将值从特定行转换为向量

时间:2020-06-09 14:07:36

标签: r

当我转换为矢量时,我有一个数据帧df。但是有没有一种方法可以从特定的列开始

> asd <- data.frame(a = c("A","B","C","D"), b = c(1,2,3,4))
> asd$b <- as.character(asd$b)
> paste0("(",asd$a, asd$b,")")
[1] "(A1)" "(B2)" "(C3)" "(D4)"

预期的输出(仅2行和3行)

[1] "(B2)" "(C3)" 

1 个答案:

答案 0 :(得分:3)

一种方法是使用[进行子集化:

paste0("(",asd[2:3,"a"], asd[2:3,"b"],")")
#[1] "(B2)" "(C3)"

[运算符应用于data.frame时,具有两个参数ij

i参数指定行,j参数指定列。您可以在j中使用字符向量来指定列,但也可以使用整数:

paste0("(",asd[2:3,1], asd[2:3,2],")")
#[1] "(B2)" "(C3)"

除了在i中使用整数之外,还可以使用逻辑向量:

asd$a %in% c("B","C")
#[1] FALSE  TRUE  TRUE FALSE

paste0("(",asd[asd$a %in% c("B","C"),1], asd[asd$a %in% c("B","C"),2],")")
#[1] "(B2)" "(C3)"

有关更多信息,请参见help(Extract)