如何通过 R 中的 dplyr 将向量突变到数据帧中每行的末尾?



正如预期的那样,这段代码

myLines="
Greek
alpha
beta
gamma
"
myData <- read.table(text=myLines, header=TRUE)
print(myData)

生产:

Greek
1 alpha
2  beta
3 gamma

我现在想将向量 c(1,2,3,4( 突变到每行的末尾,以便得到这个:

Greek justSomeVector
1 alpha     c(1,2,3,4)
2  beta     c(1,2,3,4)
3 gamma     c(1,2,3,4)

所以我试了这个:

library(dplyr)
myData=myData%>%mutate(justSomeVector=c(1,2,3,4))

这会产生此错误:

Error in mutate_impl(.data, dots) : 
Column `justSomeVector` must be length 3 (the number of rows) or one, not 4

我必须如何更改我的代码才能使突变起作用?

您需要列出数字列表,否则它会发生变化,就好像justSomeVector是需要沿行分布的向量一样

myData=myData%>%mutate(justSomeVector=list(c(1,2,3,4)))
#  Greek justSomeVector
#1 alpha     1, 2, 3, 4
#2  beta     1, 2, 3, 4
#3 gamma     1, 2, 3, 4

最新更新