假设我有data.frame df

df<-data.frame(a=1:5,b=101:105,c=201:205)

我可以在对飞行中的某一列(或行)同时执行某种修改(例如算术)的同时调用此数据的子集吗?

例如,如果我想返回df的第一和第二列,但返回第1列值的日志。是否有一些注释可以修改df[,1:2]以便即时生成以下内容?:
            a   b
>1  0.0000000 101
>2  0.6931472 102
>3  1.0986123 103
>4  1.3862944 104
>5  1.6094379 105

最佳答案

这是within()的一个很好的例子

within(df[1:2], a <- log(a))
#           a   b
# 1 0.0000000 101
# 2 0.6931472 102
# 3 1.0986123 103
# 4 1.3862944 104
# 5 1.6094379 105

或者,如果您不想在通话中加入<-,则可以使用方括号
within(df[1:2], { a = log(a) })

10-04 21:38
查看更多