R语言代做编程辅导ASSIGNMENT THREE - BASIC R SKILS(附答案)

2022-12-14 22:20:57 浏览数 (2)

全文链接:http://tecdat.cn/?p=30904

PROBLEM 1) Comparing Vectors

Description: Given two vectors, the longer will be deteremined and returned. In the event of a tie, the vector called x will be returned

代码语言:javascript复制
longVec<-function(x,y)
{lv=ifelse(length(x)>length(y),x,y)
	return(lv)
}

PROBLEM 2) Intersection Subsets

Script Name: vowelMax Input: Two numeric vectors Output: One numeric vector consisting of only even numbers Error Checking: 1) If either input is empty, return NULL 2) If either vector is not numeric return NULL 3) If the vectors have an empty intersection (length of intersection is 0), return NULL 4) If there are no even numbers in the intersection return NULL>

Description: Given two vectors, find their intersection (numbers common to both) and remove all of the odd numbers and return the even numbers

Hints: Run the command: help(intersect) For a number x, (x%%2) is zero if x is even and one if x is odd. Look into indexing a vector with logical values

代码语言:javascript复制
commonEven<-function(x,y)
{if(is.null(x) || is.null(y)) return(NULL)
else{
if(!is.numeric(x) || !is.numeric(y)) return(NULL)
else{if(length(intersect(x,y))==0) return(NULL)
else{if(min(x%%2)==1 || min(y%%2)==1) return(NULL)

PROBLEM 3) Longest first difference

Script Name: maxDiff Input: x: a numeric vector seqName: a string containing the name of the vector

Output: A nonzero number equal to the maximum absolute difference of the sequence

Error Checking:

  1. If the input is empty, return NULL
  2. If the vector is not numeric, return NULL Messages: Best described by examples. See below:

"|(a[9]-a[8])| = 7 is the maximum absolute difference"

"Input vector must be numeric."

"Sequence is empty"

Hint: Run the command: help(intersect) For a number x, (x%%2) is zero if x is even and one if x is odd. Look into indexing a vector with logical values Description: Given a sequence, {a[j]}, define the maximum absolute difference as maximum absolute difference of {a} = max |(a[j 1]-a[j])| j=1,2,3,...,n-1

代码语言:javascript复制
 ----------------------------
 Example:
 
 Good Case:
 
 > e<-c(5,7,10,8,4,0,2,-3,-10)
 > e
 [1]   5   7  10   8   4   0   2  -3 -10
 > maxDiff(e,"a")
 [1] "|(a[9]-a[8])| = 7 is the maximum absolute difference"
 [1] 7
 
 
 Error case: Nonnumeric vector
 
 > maxDiff(c("cat","dog"),"pets")
 [1] "Input vector must be numeric."
 NULL
 
 Error case: Empty vector
 > x<-c(2341)
 > x<-x[-1]
 > maxDiff(x,"a")
 [1] "Sequence is empty"
 NULL
 
 End Example-------------------------------
代码语言:javascript复制
maxDiff<-function(x,seqName)
{if(is.numeric(x)==FALSE)cat("Input vector must be numeric.")
else{
if(x[-1]==0)cat("Sequence is empty")
else{ 
Difmax=0;
for(i in 1:(length(x)-1)){
for(j in (i 1):length(x)){

}	
}
}

PROBLEM 4) Counting vowels in a list a words

Script Name: vowelMax Input: A vector of words (character strings) Output: The word with the most vowels Error Checking: If the vector of words is empty, a message is written saying "Vector of words is empty" and returning NULL

Description: Given a vector of word (character strings), this function finds and returns the word with the most vowels.

代码语言:javascript复制
vowelMax<-function(a)
{if(length(a)==0)cat("Vector of words is empty") 
vowmax=0
for(i in 1:length(a)){
vowc=0;
for(j in  1:nchar(a[i]))
{

cat

0 人点赞