假设我有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) })