R 我有一个数据帧,它的列是向量。我想获取最后一个元素并将其存储在新列中。我怎么做?
我的数据框是这样的R 我有一个数据帧,它的列是向量。我想获取最后一个元素并将其存储在新列中。我怎么做?,r,dataframe,vector,indexing,R,Dataframe,Vector,Indexing,我的数据框是这样的 df> col1 col2 1 c('a', 'b', 'c') 2 c('r', 't') 3 c('x', 'y') df> col1 col2 col3 1 c('a', 'b', 'c') 'c' 2 c('r', 't') 't' 3 c('x', 'y
df>
col1 col2
1 c('a', 'b', 'c')
2 c('r', 't')
3 c('x', 'y')
df>
col1 col2 col3
1 c('a', 'b', 'c') 'c'
2 c('r', 't') 't'
3 c('x', 'y') 'y'
我想要的是这样的数据帧
df>
col1 col2
1 c('a', 'b', 'c')
2 c('r', 't')
3 c('x', 'y')
df>
col1 col2 col3
1 c('a', 'b', 'c') 'c'
2 c('r', 't') 't'
3 c('x', 'y') 'y'
以下是一个例子:
df <- data.frame(C = I(list(list("a","b"),list("a","b","c"))))
df$D <- sapply(df$C, function(x) x[length(x)])
试试这个
df$col3 <- sapply(df$col2,function(s) as.vector(s)[length(s)])
df$col3请使用dput(df)
添加数据。欢迎使用SO!当你提出一个问题时,试着增加一个最低限度的内容:输入样本、预期输出样本、你尝试了什么、研究和你在哪里卡住了。你试了什么?