当我转换为矢量时,我有一个数据帧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)"
答案 0 :(得分:3)
一种方法是使用[
进行子集化:
paste0("(",asd[2:3,"a"], asd[2:3,"b"],")")
#[1] "(B2)" "(C3)"
将[
运算符应用于data.frame
时,具有两个参数i
和j
。
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)
。