我有以下矩阵B:
B = matrix(c(2, 4, 98, 1, 5, 1), nrow=3, ncol=2)
我想遍历每个元素并检查它是否小于3或其他。 如果小于3,则分配值' 5'否则分配值' 0' 0如果大于3.我想要的最终结果输出如下:
# Final result
result = matrix(c(5, 0, 0, 5, 0, 5), nrow=3, ncol=2)
我是R的新手并尝试使用以下代码,但事实并非如此 工作,我怀疑不是最有效率的。我将不胜感激任何反馈。
for i in 1:nrow(B){
for j in 1:ncol(B){
if (B < 3)
result[i,j] = 5
else
result[i,j] = 0
}
}
答案 0 :(得分:1)
这是通过将逻辑矩阵与5
相乘的一种方法import React, { Component } from 'react';
import { connect } from 'react-redux';
import PollOption from './poll_option';
import * as Actions from '../actions';
class APoll extends Component {
componentDidMount() {
this.props.fetchAPoll(this.props.params.postId);
}
renderOption(pollData) {
//console.log("renderOption:", pollData.options);
return (
pollData.options.forEach(function(option) {
return (
<PollOption title={option.title} value={option.value} />
);
})
);
}
render() {
const a_poll = this.props.a_poll ? this.props.a_poll : "nothing here";
return (
<div>
<div>{ a_poll.title } : {a_poll.user_name}</div>
<div>{a_poll.map(this.renderOption)}</div>
</div>
);
}
};
function mapStateToProps({a_poll}) {
return {
a_poll
};
}
export default connect(mapStateToProps, Actions)(aPoll);