r语言data[i,1]输出为空值怎么处理
for(iin1:100){if(data[i,1]!=data[i+1,1]&&data[i+1,1]!=data[i+2,1])data[i+1,]=0}本来想用这个...
for(i in 1:100){
if(data[i,1]!=data[i+1,1]&&data[i+1,1]!=data[i+2,1])
data[i+1,]=0}
本来想用这个循环来对与前后两行不同的数据赋值,但是会报错说有TRUE/FALSE的地方不能为空值,求解怎么修改程序 展开
if(data[i,1]!=data[i+1,1]&&data[i+1,1]!=data[i+2,1])
data[i+1,]=0}
本来想用这个循环来对与前后两行不同的数据赋值,但是会报错说有TRUE/FALSE的地方不能为空值,求解怎么修改程序 展开
4个回答
展开全部
R对命名了的数据结构进行操作。最简单的数据结构是数字向量;如,
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7) c()是创建函数,赋值运算符是'<-',与函数assign()等价
> assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7)) 也可以写成:
> c(10.4, 5.6, 3.1, 6.4, 21.7) -> x
如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储存。
单独输入x则会将值打印出来。也可以打印倒数:
> 1/x
> y <- c(x, 0, x) 也可以将向量作为元素。
2.2 向量运算
操作是按照向量中的元素一个一个进行的。同一个表达式中的向量并不需要具有相同的长度。如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹配。而常数很明显的将被不断重复。如,
> v <- 2*x + y + 1
常用运算有:
+,-,*,/,^(次方);
log, exp, sin, cos, tan,sqrt等;
max和min的作用是选出所给向量中最大的或最小的元素;
range函数的值是一个长度为2的向量,即c(min(x),max(x))
length(x)返回了向量x中元素的个数,也就是x的长度。
sum(x)给出了x中所有元素的总和;
prod(x)给出x中所有元素的乘积;
mean(x)和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/length(x),sum((x-mean(x)) \^2)/(length(x) -1)。如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。
sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还有其他更灵活的排序功能(参见order()和sort.list())。
pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元素由参数中所有向量在相应位置的最大值(最小值)组成;
如果要使用复数,需要直接给出一个复数部分。因此sqrt(-17)将会返回NaN(无效数值)和一个警告,而sqrt(-17+0i)将按照复数进行运算。
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7) c()是创建函数,赋值运算符是'<-',与函数assign()等价
> assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7)) 也可以写成:
> c(10.4, 5.6, 3.1, 6.4, 21.7) -> x
如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储存。
单独输入x则会将值打印出来。也可以打印倒数:
> 1/x
> y <- c(x, 0, x) 也可以将向量作为元素。
2.2 向量运算
操作是按照向量中的元素一个一个进行的。同一个表达式中的向量并不需要具有相同的长度。如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹配。而常数很明显的将被不断重复。如,
> v <- 2*x + y + 1
常用运算有:
+,-,*,/,^(次方);
log, exp, sin, cos, tan,sqrt等;
max和min的作用是选出所给向量中最大的或最小的元素;
range函数的值是一个长度为2的向量,即c(min(x),max(x))
length(x)返回了向量x中元素的个数,也就是x的长度。
sum(x)给出了x中所有元素的总和;
prod(x)给出x中所有元素的乘积;
mean(x)和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/length(x),sum((x-mean(x)) \^2)/(length(x) -1)。如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。
sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还有其他更灵活的排序功能(参见order()和sort.list())。
pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元素由参数中所有向量在相应位置的最大值(最小值)组成;
如果要使用复数,需要直接给出一个复数部分。因此sqrt(-17)将会返回NaN(无效数值)和一个警告,而sqrt(-17+0i)将按照复数进行运算。
展开全部
考虑下上下界,i in 1:100会不会超出去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么不用差分运算,两次即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空格值数据
trim 函数作用:清除字符型数据前后的空格
trim 函数语法: trim (x)
案例: new_data3 <- trim (data)
注:trim 函数来自 raster包,使用前,先使用 install.packages("raster") 安装,再使用 library (raster) 引入该包;
缺失值数据
处理方式:
数据补齐
删除对应缺失行
na.omit 函数作用:剔除数据结构中值为空(即缺失值以NA表示)的数据
na.omit 函数语法: na.omit (x)
案例: new_data2 <- na.otmi (data)
不处理
trim 函数作用:清除字符型数据前后的空格
trim 函数语法: trim (x)
案例: new_data3 <- trim (data)
注:trim 函数来自 raster包,使用前,先使用 install.packages("raster") 安装,再使用 library (raster) 引入该包;
缺失值数据
处理方式:
数据补齐
删除对应缺失行
na.omit 函数作用:剔除数据结构中值为空(即缺失值以NA表示)的数据
na.omit 函数语法: na.omit (x)
案例: new_data2 <- na.otmi (data)
不处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询