R中列值的倒数

R中列值的倒数,r,R,我有一个矩阵,叫做mydf。如何获得结果中所示的A列和C列的倒数 mydf 结果 A B C 0.5 2 0.5 1 3 0.5 我们可以试试 mydf[c(1,3)] <- lapply(mydf[c(1,3)], function(x) 1/x) mydf # A B C #1 0.5 2 0.5 #2 1.0 3 0.5 注意:这里我假设“mydf”为data.frame我们可以试试 mydf[c(1,3)] <- lapply(mydf

我有一个矩阵,叫做
mydf
。如何获得结果中所示的A列和C列的倒数

mydf

结果

A    B   C
0.5  2   0.5
1    3   0.5
我们可以试试

mydf[c(1,3)] <- lapply(mydf[c(1,3)], function(x) 1/x)
mydf
#    A B   C
#1 0.5 2 0.5
#2 1.0 3 0.5
注意:这里我假设“mydf”为
data.frame

我们可以试试

mydf[c(1,3)] <- lapply(mydf[c(1,3)], function(x) 1/x)
mydf
#    A B   C
#1 0.5 2 0.5
#2 1.0 3 0.5

注意:这里我假设“mydf”为
data.frame

我建议创建一个新的数据框,然后反转需要反转的列

mydf <- data.frame(A=c(2,1), B=c(2,3), C=c(2,2))
mydf2 <- mydf
mydf2[,c(1,3)] <- mydf2[,c(1,3)]^(-1)
mydf2
#    A B   C
#1 0.5 2 0.5
#2 1.0 3 0.5

mydf我建议创建一个新的数据框,然后反转需要反转的列

mydf <- data.frame(A=c(2,1), B=c(2,3), C=c(2,2))
mydf2 <- mydf
mydf2[,c(1,3)] <- mydf2[,c(1,3)]^(-1)
mydf2
#    A B   C
#1 0.5 2 0.5
#2 1.0 3 0.5
mydf这也适用于R:

> df <- data.frame(A=c(2,4), B=c(2,5), C=c(2,2))
> df
#  A B C
#1 2 2 2
#2 4 5 2
> cols = c('A','B')
> df[cols] = 1/df[cols]
> df
#    A   B C
#1 0.50 0.5 2
#2 0.25 0.2 2
>测向
#A、B、C
#1 2 2 2
#2 4 5 2
>cols=c('A','B'))
>df[cols]=1/df[cols]
>df
#A、B、C
#1 0.50 0.5 2
#2 0.25 0.2 2
这也适用于R:

> df <- data.frame(A=c(2,4), B=c(2,5), C=c(2,2))
> df
#  A B C
#1 2 2 2
#2 4 5 2
> cols = c('A','B')
> df[cols] = 1/df[cols]
> df
#    A   B C
#1 0.50 0.5 2
#2 0.25 0.2 2
>测向
#A、B、C
#1 2 2 2
#2 4 5 2
>cols=c('A','B'))
>df[cols]=1/df[cols]
>df
#A、B、C
#1 0.50 0.5 2
#2 0.25 0.2 2

mydf[,c(“A”,“c”)]@DavidArenburg没错。应该很简单,但只需要特定的列。
mydf[,c(“A”,“c”)]@DavidArenburg没错。应该非常简单,但只需要特定列。指定
mydf
必须是
data.frame
且不能是矩阵。如果在
矩阵
上尝试此操作(如OP所述,尽管有
mydf
名称),但结果不会很好…请指定
mydf
必须是
数据.frame
且不能是矩阵。如果你在
矩阵
上尝试这一点(正如OP所说,尽管有
mydf
名称),事情不会有好的结局。。。