假设我们有如下的数据框:
df <- data.frame(x = c(1,2,3), y = c(4,5,6), z = c(7,8,9))
想要从每行中提取向量的值,并将其保存在一个新的向量中,可以使用apply()函数,如下所示:
result <- apply(df, 1, function(row) c(row[1], row[2], row[3]))
这将创建一个名为“result”的矩阵,其中包含从每行中提取的向量。
另一种方法是使用dplyr库中的“rowwise()”函数,如下所示:
library(dplyr)
result <- df %>%
rowwise() %>%
mutate(new_col = list(c(x, y, z))) %>%
ungroup()
这将在数据框中添加一个名为“new_col”的新列,其中包含从每行中提取的向量。
无论使用哪种方法,都可以避免使用循环来提取向量,从而提高代码的效率。
下一篇:避免在R中单词被截断