首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中列值的逆

R中列值的逆
EN

Stack Overflow用户
提问于 2016-04-19 10:00:00
回答 3查看 5.6K关注 0票数 1

我有一个叫mydf的矩阵。如结果所示,如何得到列A和C的逆?

麦德夫

代码语言:javascript
复制
A  B  C
2  2  2 
1  3  2

结果

代码语言:javascript
复制
A    B   C
0.5  2   0.5
1    3   0.5
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-19 10:02:22

我们可以试试

代码语言:javascript
复制
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

或者使用dplyr

代码语言:javascript
复制
library(dplyr)
mydf %>%
      mutate_each(funs(1/.), -one_of("B"))

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

票数 3
EN

Stack Overflow用户

发布于 2016-04-19 10:02:41

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

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2018-08-23 04:54:31

这也适用于R:

代码语言:javascript
复制
> 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36715042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档