向任何人寻求帮助。
我有一个名为h2004的家庭调查数据集,并且想要创建一个等于满足特定条件的另一个变量的变量。我在这里提出了一些观察结果。
cq15 expen
10 0.4616136
10 1.538712
11 2.308068
11 0.384678
12 2.576797822
12 5.5393632
13 5.4624276
14 2.6158104
14 20.157127
我尝试了以下命令:
h2004$crops[h2004$cq15>=12 & h2004$cq15<=14]=h2004$expen
这会在R中产生错误的结果,因为我知道使用Stata的正确结果。在原始数据集中,即使cq15<12
,上述命令也会使用“费用”值,并将对cq15>=12 & cq15<=14
的观察值替换为fil<- filter(h2004, cq15>=12 & cq15<=14)
。
我还尝试使用dplyr的filter选项正确地对数据框进行子集,但不知道如何将其应用于特定变量。
(cq15>=12 & cq15<=14)
我认为我的子集// Ionic Starter App
// angular.module is a global place for creating, registering and retrieving Angular modules
// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)
// the 2nd parameter is an array of 'requires'
var app = angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
})
.controller('MediaCtrl', function($scope) {
$scope.allImages = [{
'src' : 'img/pic1.jpg'
}, {
'src' : 'img/pic2.jpg'
}, {
'src' : 'img/pic3.jpg'
}, {
'src' : 'img/pic4.jpg'
}, {
'src' : 'img/pic4.jpg'
}, {
'src' : 'img/pic5.jpg'
}, {
'src' : 'img/pic6.jpg'
}, {
'src' : 'img/pic7.jpg'
}, {
'src' : 'img/pic8.jpg'
}, {
'src' : 'img/pic9.jpg'
}, {
'src' : 'img/pic10.jpg'
}, {
'src' : 'img/pic11.jpg'
}];
});
是错误的。请指教。感谢
答案 0 :(得分:0)
问题在于命令。执行该命令时,将发出以下警告消息:
Warning message:
In h2004$crops[h2004$cq15 >= 12 & h2004$cq15 <= 14] = h2004$expen :
number of items to replace is not a multiple of replacement length
这样做的原因是该命令的LHS选择满足条件 h2004 $ cq15&gt; = 12&amp;的元素。 h2004 $ cq15&lt; = 14 在RHS上,给出了完整的向量 h2004 $ expense ,导致长度不匹配。
解决方案:
> h2004$crops[h2004$cq15>=12 & h2004$cq15<=14]=h2004$expen[h2004$cq15>=12 & h2004$cq15<=14]
> h2004
cq15 expen crops
1 10 0.4616136 NA
2 10 1.5387120 NA
3 11 2.3080680 NA
4 11 0.3846780 NA
5 12 2.5767978 2.576798
6 12 5.5393632 5.539363
7 13 5.4624276 5.462428
8 14 2.6158104 2.615810
9 14 20.1571270 20.157127
或者另外:
> indices <- which(h2004$cq15>=12 & h2004$cq15<=14)
> h2004$crops[indices] = h2004$expen[indices]
> h2004
cq15 expen crops
1 10 0.4616136 NA
2 10 1.5387120 NA
3 11 2.3080680 NA
4 11 0.3846780 NA
5 12 2.5767978 2.576798
6 12 5.5393632 5.539363
7 13 5.4624276 5.462428
8 14 2.6158104 2.615810
9 14 20.1571270 20.157127